开发者社区> 问答> 正文

客户端报错no match ack position

你们好,我在使用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

展开
收起
绿子直子 2023-05-09 15:09:21 71 0
1 条回答
写回答
取消 提交回答
  • no match ack的意思是未按照batchId的顺序调用ack 建议测试一下最新的1.1.2版本

    原回答者GitHub用户agapple

    2023-05-10 10:28:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载

相关镜像