你们好,我在使用canal的过程中碰到了个奇怪的问题,描述如下 我的客户端代码是
while(!Thread.currentThread().isInterrupted()) { Message message = canalService.getWithoutAck(identity, 1, 1L, TimeUnit.SECONDS); long batchId = message.getId(); if(batchId != -1) canalService.ack(identity, batchId); } 具体过程是每次取一条,然后进行ack,日志显示第一条也就是batch id为1的数据ack成功了,第二条数据也就是batch id为2的数据ack失败了,并且碰到以下的异常
com.alibaba.otter.canal.store.CanalStoreException: no match ack positionLogPosition[identity=LogIdentity[sourceAddress=/10.160.246.137:1379,slaveId=-1],postion=EntryPosition[included=false,journalName=mysql-bin.000001,position=130,serverId=1379,timestamp=1489048651000]]
请问这个异常可能是什么原因导致的呢
原提问者GitHub用户whyliyu
no match ack的意思是未按照batchId的顺序调用ack 建议测试一下最新的1.1.2版本
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。