{"record":{"id":"c1545bc5c10149ed","repo":"alibaba/canal","slug":"unsupported-version-at-this-client-c1545b","errorCode":null,"errorMessage":"unsupported version at this client.","messagePattern":"unsupported version at this client\\.","errorType":"exception","errorClass":"CanalClientException","httpStatus":null,"severity":"error","filePath":"client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java","lineNumber":157,"sourceCode":"        } else {\n            doDisconnect();\n        }\n    }\n\n    private InetSocketAddress doConnect() throws CanalClientException {\n        try {\n            channel = SocketChannel.open();\n            channel.socket().setSoTimeout(soTimeout);\n            SocketAddress address = getAddress();\n            if (address == null) {\n                address = getNextAddress();\n            }\n            channel.connect(address);\n            readableChannel = Channels.newChannel(channel.socket().getInputStream());\n            writableChannel = Channels.newChannel(channel.socket().getOutputStream());\n            Packet p = Packet.parseFrom(readNextPacket());\n            if (p.getVersion() != 1) {\n                throw new CanalClientException(\"unsupported version at this client.\");\n            }\n\n            if (p.getType() != PacketType.HANDSHAKE) {\n                throw new CanalClientException(\"expect handshake but found other type.\");\n            }\n            //\n            Handshake handshake = Handshake.parseFrom(p.getBody());\n            supportedCompressions.add(handshake.getSupportedCompressions());\n            //\n            ByteString seed = handshake.getSeeds(); // seed for auth\n            String newPasswd = password;\n            if (password != null) {\n                // encode passwd\n                newPasswd = SecurityUtil.byte2HexStr(SecurityUtil.scramble411(password.getBytes(), seed.toByteArray()));\n            }\n\n            ClientAuth ca = ClientAuth.newBuilder()\n                .setUsername(username != null ? username : \"\")","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/alibaba/canal/blob/87be50e87686a3e8af08c368d0e1ffd1f59eb04a/client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java#L139-L175","documentation":"Error \"unsupported version at this client.\" thrown in alibaba/canal.","triggerScenarios":"Thrown at client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java:157 when the library encounters an invalid state.","commonSituations":"Server handshake version mismatch. Pin client and server to compatible canal versions; validate the negotiated version before proceeding and fail fast with both versions logged.","solutions":["Align canal client and canal server versions; the handshake packet protocol differs between incompatible versions.","Upgrade the canal client dependency (com.alibaba.otter:canal.client) to match the deployed canal server version."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"87be50e87686a3e8af08c368d0e1ffd1f59eb04a","analyzedAt":"2026-08-14T04:30:11.918Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}