shonge
(Song)
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
Pump 报错:
[WARN] [server.go:213] [“slow write binlog RPC response”] [“payload size =47”] [take second=44.19037601 ] [ label=succ]
[WARN] [storage.go: 820] [ take a long time tto write binlog ] [ binlog type = Prewrite ]
TiDB Server报错:
[pumps client] write binlog to pump failed
[critical error, stop the server listener]
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
Lucien
( Lucien)
2
看一下 pump 落盘 binlog 是不是写延迟问题,检查一下 pump 服务的写入的 I/O 的情况
shonge
(Song)
3
两个Pump同时报这个日志,pump在不同主机应该不会同时出现磁盘问题
shonge
(Song)
4
小王同学
5
会, tidb 采用两阶段提交的方式,两阶段提交是分布式事务比较常用的算法,分为 prepare 和 commit 阶段,在 Prepare 阶段,TiDB 同时向 TiKV 和 Pump 发起 prewrite 请求,只有 TiKV 和 Pump 全部返回成功了,TiDB 才认为 Prepare 成功。
详情可以了解下源码阅读
https://pingcap.com/blog-cn/tidb-binlog-source-code-reading-5/
shonge
(Song)
6
仔细看了下,writeToKV是写 pump
本身的 goleveldb
吧?
哪行代码是由于tikv
集群响应慢,导致pump
报 take a long time to write binlog
?
来了老弟
7