开发者社区 > 数据库 > 数据库管理工具 > 正文

在数据传输DTS中,消息一直在重复消费,这是我查看到的异常信息,想知道是什么原因导致的?

在数据传输DTS中,我们服务现在出现了问题,位点一直停在11:41,但是我们的程序还在一直消费,这是我查看到的异常信息,想知道是什么原因导致的?1ae041faf801a2fe86ad5d7da0738151.png
完整的日志为:
2023-12-25 14:49:19.525 INFO 1 --- [kaRecordFetcher] c.a.d.s.c.r.KafkaRecordFetcher : KafkaRecordFetcher: offer kafka record has failed for a period (10s) [ ConsumerRecord(topic = cn_beijing_vpc_rm_2zeoyz23rl9ir30o8_yx_dts2js_version2, partition = 0, offset = 280703077, CreateTime = 17034756
91783, serialized key size = -1, serialized value size = 447, headers = RecordHeaders(headers = [RecordHeader(key = togo, value = [0, 1, 1, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 0, 0, -70, -119, -23, 8, 6, -42, -25, -57, -40, 12, 0])], isRea
dOnly = false), key = null, value = [B@265b0e14)]
2a626583384e0cd27da32de1525bb118.png

展开
收起
阿遇202411 2024-01-03 14:04:12 125 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    数据传输服务DTS中消息重复消费的问题可能有多种原因。一种可能的原因是消费端SDK没有正确处理消费完的消息,没有及时向服务端发送ACK确认信息。当服务端没有收到ACK时,它会认为消息未被成功消费,因此会再次推送相同的消息。这就导致了消息的重复消费。

    另一种可能的原因是订阅任务的消费组在数据订阅到期后并未及时续费或删除,导致消费组保留的时间超过了7天。如果在此期间实例被释放,那么对应的消费组也会被删除,可能会导致消息重复消费。

    此外,还需要检查Demo版本是否使用正确,因为不同的源库类型和数据格式需要使用不同的Demo版本。同时,也需要查看订阅任务是否有数据写入Kafka,可以在控制台的消费组管理中查看未消费的消息数是否大于零。

    2024-01-03 21:58:08
    赞同 展开评论 打赏
  • 您试下重建消费组指定位点重新消费看下。您使用这个工具包先排查下;https://help.aliyun.com/zh/dts/user-guide/troubleshoot-issues-in-change-tracking-tasks?spm=a2c4g.11186623.0.i3 如果创建了多个消费组,会重复消费,否则不会;订阅client有重启可能也会导致重复消费。此回答整理自钉群“DTS客户交流群-2”

    2024-01-03 15:54:52
    赞同 展开评论 打赏

阿里云提供了一系列数据库管理工具,可以满足您在云上进行数据库管理的各种需求。包含数据传输服务DTS、数据库备份 DBS、数据库自治服务 DAS、数据管理 DMS。

相关电子书

更多
DTS助力企业快速复制阿里巴巴异地多活架构 立即下载
蚂蚁聚宝虫洞项目技术方案介绍 ——云与端之间数据传输的桥梁 立即下载
DTS控制台一本通 立即下载