pd迁移后,pump的UpdateTime不更新

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
有3个pd节点,pd1,pd2,pd3, 把这三个pd节点迁移到pd4,pd5,pd6后,(pd1,pd2,pd3下线),用
binlogctl -pd-urls=http://192.168.133.xxx:2379 -cmd pumps
命令查看,UpdateTime就不更新了。 但实际下游数据是有的,不影响业务。重启这个pump后才更新. pd节点迁移后,pump不自动感知到吗?
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】

根据您的描述,您已经将原来的 PD 节点迁移到了新的 PD 节点,并且使用 binlogctl -pd-urls=http://192.168.133.xxx:2379 -cmd pumps 命令查看 pump 状态时,发现 UpdateTime 不更新。但是,实际下游数据是有的,不影响业务。您想知道为什么 pump 没有自动感知到 PD 节点的更改。

根据 TiDB 官方文档 [1],当您更改 PD 节点时,需要重启 pump 才能使其感知到更改。这是因为 pump 会缓存 PD 节点的信息,而不会自动更新。因此,当您更改 PD 节点时,需要重启 pump 才能使其重新加载 PD 节点信息。

如果您想避免重启 pump,可以尝试使用 binlogctl -pd-urls=http://192.168.133.xxx:2379 -cmd refresh-workers 命令刷新 pump 的 worker 列表。这将强制 pump 重新加载 PD 节点信息,并更新其 worker 列表。但是,这种方法可能会导致 pump 的性能下降,因为它需要重新加载所有 worker 的信息。

总之,当您更改 PD 节点时,建议重启 pump,以确保其正确感知到更改。

迁移 PD 节点时,需要确保 pump 的配置文件中的 PD 地址已正确更新为新的 pd4、pd5、pd6 节点

这个集群pd迁移一年多了,pump一直没重启,日志里一直报错"send heartbeat failed",但又没有影响数据同步,pump发送心跳失败也没有影响,那要这个有什么影响呢?
我测试如果不重启迁移这个UpdateTime不更新的pump会失败,日志报找不到drainer应答。还有别的影响吗?

可能涉及这个bug
https://github.com/pingcap/tidb-binlog/issues/1236
pump一直没重启,日志里一直报错"send heartbeat failed"
你去看下show pump status 看有没有什么问题

show pump status 的state是online,UpdateTime不更新,但实际并不影响数据同步,数据还是可以通过drainer同步到下游。那这个心跳有啥用啊?现在重启pump不会带来其他的影响吧?

轮流重启一般不会有什么问题的,tidb写pump是轮询写入的

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。