{"record":{"id":"923b560674fa142a","repo":"t8y2/dbx","slug":"unsupported-cassandra-loadbalancing-policy-s","errorCode":null,"errorMessage":"unsupported Cassandra loadbalancing policy: %s","messagePattern":"unsupported Cassandra loadbalancing policy: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/cassandra-go/config.go","lineNumber":527,"sourceCode":"\t\treturn \"exponential\", nil\n\tdefault:\n\t\treturn \"\", fmt.Errorf(\"unsupported Cassandra retry policy: %s\", value)\n\t}\n}\n\nfunc normalizeLoadBalancingPolicy(value string) (string, error) {\n\tname := strings.ToLower(simpleClassName(value))\n\tswitch name {\n\tcase \"\", \"basicloadbalancingpolicy\", \"dcinferringloadbalancingpolicy\", \"defaultloadbalancingpolicy\":\n\t\treturn \"default\", nil\n\tcase \"roundrobinpolicy\":\n\t\treturn \"round_robin\", nil\n\tcase \"dcawareroundrobinpolicy\":\n\t\treturn \"dc_aware\", nil\n\tcase \"tokenawarepolicy\":\n\t\treturn \"token_aware\", nil\n\tdefault:\n\t\treturn \"\", fmt.Errorf(\"unsupported Cassandra loadbalancing policy: %s\", value)\n\t}\n}\n\nfunc parseReconnectionPolicy(value string) (string, time.Duration, time.Duration, error) {\n\ttrimmed := strings.TrimSpace(value)\n\tname := simpleClassName(trimmed)\n\tparameters := \"\"\n\tif open := strings.IndexByte(name, '('); open >= 0 {\n\t\tparameters = strings.TrimSuffix(name[open+1:], \")\")\n\t\tname = name[:open]\n\t}\n\tpolicy := strings.ToLower(strings.TrimSpace(name))\n\tbaseDelay := time.Second\n\tmaxDelay := 60 * time.Second\n\tif parameters != \"\" {\n\t\tparts := strings.Split(parameters, \",\")\n\t\tfor index, part := range parts {\n\t\t\tpart = strings.TrimSpace(strings.ReplaceAll(strings.ToLower(part), \"(long)\", \"\"))","sourceCodeStart":509,"sourceCodeEnd":545,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/cassandra-go/config.go#L509-L545","documentation":"Returned by normalizeLoadBalancingPolicy when the loadbalancing option (URL param or HOCON config) does not map to a known policy class name. Recognized names are the basic/default/dc-inferring policies (mapped to 'default'), RoundRobinPolicy, DCAwareRoundRobinPolicy, and TokenAwarePolicy; anything else is rejected because the native driver cannot reproduce that policy's routing semantics.","triggerScenarios":"A loadBalancingPolicy option (URL param or HOCON config) whose normalized simple class name is not DCAwareRoundRobinPolicy, TokenAwarePolicy, or RoundRobinPolicy handled by the switch.","commonSituations":"Using LatencyAwarePolicy or a custom policy from app code, or an old/new driver class name not in the supported set.","solutions":["Use a supported policy: RoundRobinPolicy, DCAwareRoundRobinPolicy, or TokenAwarePolicy (typically as TokenAwarePolicy(DCAwareRoundRobinPolicy))","Check spelling of the class name; matching is on the simple lowercased class name","Remove the option to use the default load balancing policy"],"exampleFix":"// before\nurl = \"cassandra://host:9042/ks?loadBalancingPolicy=LatencyAwarePolicy\"\n// after\nurl = \"cassandra://host:9042/ks?loadBalancingPolicy=DCAwareRoundRobinPolicy\"","handlingStrategy":"validation","validationCode":"var supportedLbPolicies = map[string]bool{\n\t\"roundrobinpolicy\": true, \"dcawareroundrobinpolicy\": true, \"tokenawarepolicy\": true,\n}\nfunc validLoadBalancingPolicy(v string) bool {\n\treturn supportedLbPolicies[strings.ToLower(v)]\n}","typeGuard":null,"tryCatchPattern":"p, err := normalizeLoadBalancingPolicy(value)\nif err != nil {\n\treturn fmt.Errorf(\"%w; supported: RoundRobin, DCAwareRoundRobin, TokenAware\", err)\n}","preventionTips":["Restrict configs to TokenAwarePolicy(DCAwareRoundRobinPolicy)-style setups","Avoid LatencyAware/custom policies not supported by the agent","Validate policy names in config review"],"tags":["cassandra","config","load-balancing","unsupported-value"],"backgroundTag":"unsupported-config-value","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"}