开发者社区> 问答> 正文

rocketMq模式下,example代码运行错误,无法匹配tag

环境信息

canal version 1.1.6 mysql version 8.0.18 rocketMq 4.7.1

问题描述

17:58:09.066 [ConsumeMessageThread_20] DEBUG com.alibaba.otter.canal.client.rocketmq.RocketMQCanalConnector - Get Message: [MessageExt [queueId=0, storeSize=460, queueOffset=0, sysFlag=0, bornTimestamp=1657705583578, bornHost=/192.168.1.135:52980, storeTimestamp=1657705583587, storeHost=/192.168.1.135:10911, msgId=C0A8018700002A9F0000000000001DC1, commitLogOffset=7617, bodyCRC=1244141741, reconsumeTimes=59, preparedTransactionOffset=0, toString()=Message{topic='example', flag=0, properties={MIN_OFFSET=0, MAX_OFFSET=4, UNIQ_KEY=7F0000016AF438AFE297419C9FDA0000, CLUSTER=DefaultCluster, WAIT=true}, body=[123, 34, 100, 97, 116, 97, 34, 58, 110, 117, 108, 108, 44, 34, 100, 97, 116, 97, 98, 97, 115, 101, 34, 58, 34, 98, 121, 116, 95, 112, 111, 114, 116, 97, 108, 34, 44, 34, 101, 115, 34, 58, 49, 54, 53, 55, 55, 48, 51, 50, 57, 51, 48, 48, 48, 44, 34, 105, 100, 34, 58, 49, 44, 34, 105, 115, 68, 100, 108, 34, 58, 116, 114, 117, 101, 44, 34, 109, 121, 115, 113, 108, 84, 121, 112, 101, 34, 58, 110, 117, 108, 108, 44, 34, 111, 108, 100, 34, 58, 110, 117, 108, 108, 44, 34, 112, 107, 78, 97, 109, 101, 115, 34, 58, 110, 117, 108, 108, 44, 34, 115, 113, 108, 34, 58, 34, 65, 76, 84, 69, 82, 32, 84, 65, 66, 76, 69, 32, 96, 98, 121, 116, 95, 112, 111, 114, 116, 97, 108, 96, 46, 96, 115, 121, 110, 99, 95, 117, 115, 101, 114, 96, 32, 92, 114, 92, 110, 65, 68, 68, 32, 67, 79, 76, 85, 77, 78, 32, 96, 103, 114, 97, 107, 100, 96, 32, 118, 97, 114, 99, 104, 97, 114, 40, 50, 53, 53, 41, 32, 78, 85, 76, 76, 32, 65, 70, 84, 69, 82, 32, 96, 99, 111, 100, 101, 96, 34, 44, 34, 115, 113, 108, 84, 121, 112, 101, 34, 58, 110, 117, 108, 108, 44, 34, 116, 97, 98, 108, 101, 34, 58, 34, 115, 121, 110, 99, 95, 117, 115, 101, 114, 34, 44, 34, 116, 115, 34, 58, 49, 54, 53, 55, 55, 48, 53, 53, 56, 51, 52, 49, 48, 44, 34, 116, 121, 112, 101, 34, 58, 34, 65, 76, 84, 69, 82, 34, 125], transactionId='null'}]] 17:58:09.066 [ConsumeMessageThread_20] ERROR com.alibaba.otter.canal.client.rocketmq.RocketMQCanalConnector - Add message error com.alibaba.otter.canal.protocol.exception.CanalClientException: deserializer failed at com.alibaba.otter.canal.client.CanalMessageDeserializer.deserializer(CanalMessageDeserializer.java:54) at com.alibaba.otter.canal.client.CanalMessageDeserializer.deserializer(CanalMessageDeserializer.java:14) at com.alibaba.otter.canal.client.rocketmq.RocketMQCanalConnector.process(RocketMQCanalConnector.java:174) at com.alibaba.otter.canal.client.rocketmq.RocketMQCanalConnector.access$000(RocketMQCanalConnector.java:43) at com.alibaba.otter.canal.client.rocketmq.RocketMQCanalConnector$1.consumeMessage(RocketMQCanalConnector.java:148) at org.apache.rocketmq.client.impl.consumer.ConsumeMessageOrderlyService$ConsumeRequest.run(ConsumeMessageOrderlyService.java:486) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) at java.util.concurrent.FutureTask.run(FutureTask.java) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: com.google.protobuf.InvalidProtocolBufferException: Protocol message end-group tag did not match expected tag. at com.google.protobuf.InvalidProtocolBufferException.invalidEndTag(InvalidProtocolBufferException.java:106) at com.google.protobuf.CodedInputStream$ArrayDecoder.checkLastTagWas(CodedInputStream.java:635) at com.google.protobuf.CodedInputStream$ArrayDecoder.readGroup(CodedInputStream.java:834) at com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:548) at com.google.protobuf.GeneratedMessageV3.parseUnknownField(GeneratedMessageV3.java:320) at com.google.protobuf.GeneratedMessageV3.parseUnknownFieldProto3(GeneratedMessageV3.java:333) at com.alibaba.otter.canal.protocol.CanalPacket$Packet.(CanalPacket.java:475) at com.alibaba.otter.canal.protocol.CanalPacket$Packet.(CanalPacket.java:409) at com.alibaba.otter.canal.protocol.CanalPacket$Packet$1.parsePartialFrom(CanalPacket.java:1396) at com.alibaba.otter.canal.protocol.CanalPacket$Packet$1.parsePartialFrom(CanalPacket.java:1390) at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:158) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:191) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:203) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:208) at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:48) at com.alibaba.otter.canal.protocol.CanalPacket$Packet.parseFrom(CanalPacket.java:867) at com.alibaba.otter.canal.client.CanalMessageDeserializer.deserializer(CanalMessageDeserializer.java:22) ... 11 common frames omitted 17:58:09.158 [Thread-1] INFO com.byt.canal.rocketmq.CanalRocketMQClientExample - ## Rocketmq consumer is down.

Process finished with exit code 130

步骤重现

1、使用Mq进行消息测试 2、mq代码使用canal代码example的代码CanalRocketMQClientExample 3、运行中出现上诉问题

原提问者GitHub用户IvesQing

展开
收起
白夜行fighting 2023-04-25 21:09:05 262 0
1 条回答
写回答
取消 提交回答
  • 使用源码的demo案例代码就会出现上面的问题,采用自己写的mq服务可以正常消费

    原回答者GitHub用户IvesQing

    2023-04-26 17:47:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载