TiKV 遇到大量 prewrite 报错日志,导致大量语句变慢

参考这个帖子,prewrite时间较长可能会导致出现这个报错。一般是 1PC或 aysnc commit 情况下,Prewrite时会根据写的key计算min_commit_ts,最后选择最大的作为commit_ts ,为保障start_ts → commit_ts间 schema的一致性,tidb增加了一个max_commit_ts,max_commit_ts以Prewrite+2秒的时间计算,当min_commit_ts超过max_commit_ts后 就会报 commitTStoolarge错误,然后回退到2PC提交模式。

所以,可以看看下集群当时的系统负载、磁盘IO压力,raft 线程CPU利用率、组件间的网络延迟等情况,再一起分析分析。

1 个赞