{"record":{"id":"825a8c7e94c170fa","repo":"t8y2/dbx","slug":"unknown-method-s-825a8c","errorCode":null,"errorMessage":"unknown method: %s","messagePattern":"unknown method: (.+?)","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/neo4j-go/main.go","lineNumber":487,"sourceCode":"\t\tresult, err := s.executeQueryPage(options, intParam(params, \"pageSize\"))\n\t\treturn result, false, err\n\tcase \"fetch_query_page\", \"fetch_table_read_page\":\n\t\tresult, err := s.fetchQueryPage(stringParam(params, \"sessionId\"), intParam(params, \"pageSize\"))\n\t\treturn result, false, err\n\tcase \"close_query_session\", \"close_table_read_session\":\n\t\treturn s.closeQuerySession(stringParam(params, \"sessionId\")), false, nil\n\tcase \"execute_transaction\":\n\t\tresult, err := s.executeTransaction(params)\n\t\treturn result, false, err\n\tcase \"execute_batch\":\n\t\tresult, err := s.executeBatch(params)\n\t\treturn result, false, err\n\tcase \"disconnect\":\n\t\treturn map[string]bool{\"ok\": true}, false, s.disconnect()\n\tcase \"shutdown\":\n\t\treturn map[string]bool{\"ok\": true}, true, s.disconnect()\n\tdefault:\n\t\treturn nil, false, fmt.Errorf(\"unknown method: %s\", method)\n\t}\n}\n\nfunc (s *server) beginOperation(timeoutSecs int) (context.Context, context.CancelFunc) {\n\tctx := context.Background()\n\tvar cancel context.CancelFunc\n\tif timeoutSecs > 0 {\n\t\tctx, cancel = context.WithTimeout(ctx, time.Duration(timeoutSecs)*time.Second)\n\t} else {\n\t\tctx, cancel = context.WithCancel(ctx)\n\t}\n\ts.activeCancelMu.Lock()\n\ts.activeCancel = cancel\n\ts.activeCancelMu.Unlock()\n\treturn ctx, cancel\n}\n\nfunc (s *server) endOperation(cancel context.CancelFunc) {","sourceCodeStart":469,"sourceCodeEnd":505,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/neo4j-go/main.go#L469-L505","documentation":"The server's method dispatcher (a switch over RPC method names) returns this error from its default branch when the client requests a method the server does not implement. It means the request never reached any handler: the method name is misspelled or unsupported by this agent build/version.","triggerScenarios":"Sending an RPC request whose method string is not one of the cases handled by the switch (e.g. a typo like 'exceute', a method from a newer/older protocol version, or a client built against a different driver).","commonSituations":"Client and agent version skew after an upgrade (client calls a new method the old agent lacks); renaming a method on one side only; hand-written test harnesses calling methods with wrong casing.","solutions":["Check the exact method string against the methods the server's switch handles and fix the typo/casing","Align client and agent versions so both speak the same protocol","Log the received method name and compare with the client's call site","Add the missing case to the dispatcher if the method is genuinely intended to exist"],"exampleFix":"// before\nresp := call(\"FetchPage\", params) // wrong casing\n// after\nresp := call(\"fetch\", params) // matches dispatcher case","handlingStrategy":"validation","validationCode":"var supportedMethods = map[string]bool{\"connect\": true, \"query\": true, \"fetch\": true, \"disconnect\": true, \"shutdown\": true}\nif !supportedMethods[method] {\n    return fmt.Errorf(\"method %q not supported by this agent version\", method)\n}","typeGuard":null,"tryCatchPattern":"resp, err := call(method, params)\nif err != nil && strings.Contains(err.Error(), \"unknown method\") {\n    return fmt.Errorf(\"agent does not support %q (version mismatch?): %w\", method, err)\n}","preventionTips":["Keep client and agent binaries version-aligned","Define method names as shared constants, never inline strings","Add a protocol/capability handshake at startup","Write integration tests covering every method the client calls"],"tags":["neo4j","rpc","protocol","method-not-found"],"backgroundTag":"unknown-rpc-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"}