Drainer写入后端失败是否会导致TiDB服务异常?

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v3.0.8
  • 【问题描述】:TiDB集群开启binlog,配置 binlog.ignore-error: false。如果drainer下游写入失败了,是否会导致停止整个 TiDB 服务?或者binlog完整写入,是否包括drainer必须成功写入下游?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

你好,

可以理解为,tidb-binlog 的状态会影响 tidb 集群,开启之后会有一些性能的损失。

对于参数binlog.ignore-error: true,文档中的描述还是很清晰的。

高可用场景建议开启,如果设置为 true,发生错误时,TiDB 会停止写入 binlog,并且在监控项 tidb_server_critical_error_total 上计数加 1;如果设置为 false,一旦写入 binlog 失败,会停止整个 TiDB 的服务。

如果drainer写入下游失败,算是写入binlog失败吗? 还是说写入Pump就算成功了?

你好,

可以看下文档中的说明, Drainer 从各个 Pump 中收集 Binlog 进行归并,再将 Binlog 转化成 SQL 或者指定格式的数据,最终同步到下游。实际上 drainer 的状态并不会影响 tidb 集群的对外服务,pump 才会。

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