{"record":{"id":"c09098a6865179fd","repo":"t8y2/dbx","slug":"unknown-method-s-c09098","errorCode":null,"errorMessage":"Unknown method: %s","messagePattern":"Unknown method: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/zookeeper/main.go","lineNumber":130,"sourceCode":"\t\tresult, err := service.listPrefix(params)\n\t\treturn result, false, err\n\tcase \"kv_get\":\n\t\tresult, err := service.get(params)\n\t\treturn result, false, err\n\tcase \"kv_put\":\n\t\tresult, err := service.put(params)\n\t\treturn result, false, err\n\tcase \"kv_delete\":\n\t\tresult, err := service.delete(params)\n\t\treturn result, false, err\n\tcase \"disconnect\":\n\t\tservice.closeClient()\n\t\treturn map[string]bool{\"ok\": true}, false, nil\n\tcase \"shutdown\":\n\t\tservice.closeClient()\n\t\treturn map[string]bool{\"ok\": true}, true, nil\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"Unknown method: %s\", method)\n\t}\n}\n","sourceCodeStart":112,"sourceCodeEnd":133,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/zookeeper/main.go#L112-L133","documentation":"The driver's dispatch routes incoming RPC method names to service handlers. Any method name not present in the switch falls through to the default case and returns this error, telling the caller the driver does not implement that method.","triggerScenarios":"Sending a method string that does not match one of dispatch's registered cases (e.g. a typo like \"opne\" instead of \"open\", or calling a method from a newer/older protocol version than this driver implements).","commonSituations":"Version skew between a host application expecting methods this driver build lacks, typos in method names in driver-bridge configs, or custom tooling calling internal RPC methods directly.","solutions":["Check the method name spelling against the driver's documented/supported method list.","Upgrade or align the driver and client versions so both support the same method set.","Add/inspect the switch in dispatch (main.go) to see the exact accepted method names.","Log the received method name at dispatch entry to catch mismatched casing or whitespace."],"exampleFix":"// before\ndispatch(\"initalize\", req) // typo\n// after\ndispatch(\"initialize\", req)","handlingStrategy":"validation","validationCode":"var supportedMethods = map[string]bool{\"open\": true, \"close\": true, \"shutdown\": true /* ...per main.go dispatch */}\nif !supportedMethods[method] {\n\treturn fmt.Errorf(\"method %q not supported by this driver build\", method)\n}","typeGuard":null,"tryCatchPattern":"resp, err := rpc.Call(method, args)\nif err != nil && strings.HasPrefix(err.Error(), \"Unknown method:\") {\n\t// don't retry; discover supported methods or upgrade the driver\n\treturn discoveryFallback(method, args)\n}","preventionTips":["Keep client and driver versions in lockstep so method sets match.","Generate method names from shared constants, not string literals.","Discover/whitelist supported methods at startup instead of calling blindly."],"tags":["zookeeper","rpc","protocol"],"backgroundTag":"unknown-method","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"}