{"record":{"id":"ab1cfc9b075abe3b","repo":"t8y2/dbx","slug":"invalid-cassandra-secureconnectbundle-w","errorCode":null,"errorMessage":"invalid Cassandra secureconnectbundle: %w","messagePattern":"invalid Cassandra secureconnectbundle: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/cassandra-go/config.go","lineNumber":436,"sourceCode":"\t}\n\tif err := applyRetryPolicies(cluster, config); err != nil {\n\t\treturn nil, err\n\t}\n\tif err := applyLoadBalancingPolicy(cluster, config); err != nil {\n\t\treturn nil, err\n\t}\n\treturn cluster, nil\n}\n\nfunc (config *cassandraConfig) finalize() error {\n\tvar err error\n\tconfig.configFile, err = normalizeLocalFilePath(config.configFile)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"invalid Cassandra configfile: %w\", err)\n\t}\n\tconfig.secureConnectBundle, err = normalizeLocalFilePath(config.secureConnectBundle)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"invalid Cassandra secureconnectbundle: %w\", err)\n\t}\n\tif config.secureConnectBundle != \"\" && config.kerberos.enabled {\n\t\treturn fmt.Errorf(\"Cassandra secure connect bundles cannot be combined with Kerberos authentication\")\n\t}\n\tif config.secureConnectBundle != \"\" && (config.username == \"\" || config.password == \"\") {\n\t\treturn fmt.Errorf(\"Cassandra secure connect bundles require username and password credentials\")\n\t}\n\tif config.kerberos.enabled {\n\t\tif err := config.kerberos.finalize(config.username, config.password); err != nil {\n\t\t\treturn err\n\t\t}\n\t}\n\treturn nil\n}\n\nfunc splitHosts(raw string) []string {\n\traw = strings.ReplaceAll(raw, \"--\", \",\")\n\tparts := strings.FieldsFunc(raw, func(char rune) bool { return char == ',' || char == ';' })","sourceCodeStart":418,"sourceCodeEnd":454,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/cassandra-go/config.go#L418-L454","documentation":"finalize() validates the Cassandra agent config; this error wraps a failure from normalizeLocalFilePath(config.secureConnectBundle). It means the secure-connect-bundle path (used for DataStax Astra / secured clusters) could not be resolved as a readable local file.","triggerScenarios":"Configuring a secureConnectBundle path that normalizeLocalFilePath rejects: nonexistent file, unreadable location, or invalid path syntax, when parseCassandraConfig calls finalize().","commonSituations":"Downloading an Astra secure connect bundle but pointing at the wrong filename, not mounting the bundle into a container, or stale bundles deleted during deploys.","solutions":["Check the secureConnectBundle path exists and is readable (ls -l <path>)","Use an absolute path to the .zip bundle","Re-download the secure connect bundle from your Astra/cloud account if it is missing","Read the wrapped cause in the error to identify the precise path failure"],"exampleFix":"// before\nconfig.secureConnectBundle = \"bundle.zip\"\n// after\nconfig.secureConnectBundle = \"/etc/instana/cassandra/secure-connect-db.zip\"","handlingStrategy":"validation","validationCode":"func validateSecureBundle(path string) error {\n\tif path == \"\" {\n\t\treturn nil\n\t}\n\tif _, err := os.Stat(path); err != nil {\n\t\treturn fmt.Errorf(\"secureConnectBundle not accessible: %w\", err)\n\t}\n\treturn nil\n}","typeGuard":null,"tryCatchPattern":"if err := parseCassandraConfig(cfg); err != nil {\n\tif strings.Contains(err.Error(), \"secureconnectbundle\") {\n\t\tlog.Fatalf(\"secure connect bundle path invalid: %v\", err)\n\t}\n\treturn err\n}","preventionTips":["Keep the bundle .zip at a stable absolute path","Re-verify the bundle exists after each deploy or image build","Re-download expired Astra bundles"],"tags":["cassandra","config","file-path","secure-connect-bundle"],"backgroundTag":"invalid-config-file-path","analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}