Grafana监控中,txnlock 表示集群中存在写写冲突,txnLockFast 表示集群中存在读写冲突。TiDB使用了MVCC来规避读写冲突,那么还有哪些可能造成txnLockFast的场景呢?
Lock table in share/exclusive mode ?
收到。
以下描述清晰明了,多谢!
“在 TiDB 中,读取数据时,会获取一个包含当前物理时间且全局唯一递增的时间戳作为当前事务的 start_ts。事务在读取时,需要读到目标 key 的 commit_ts 小于这个事务的 start_ts 的最新的数据版本。当读取时发现目标 key 上存在 lock 时,因为无法知道上锁的那个事务是在 Commit 阶段还是 Prewrite 阶段,所以就会出现读写冲突的情况”。
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。