[FAQ] locked primary_lock

[问题澄清]

[ERROR] [endpoint.rs:454] [error-response] [err="locked primary_lock: 7480000000000004D35F6980000000000000010380000000004C788E0380000000004C
0748 lock_version: 411402933858205712 key: 7480000000000004D35F7280000000004C0748 lock_ttl: 3008 txn_size: 1"]

[原因分析]

1)读写冲突,读数据时发现 key 有锁阻碍读,锁包括未提交的乐观锁和未提交的 prewrite 后的悲观锁。
primary_lock:锁对应事务的 primary lock
lock_version:锁对应事务的 start TS
key:表示被锁的 key
lock_ttl: 锁的 TTL
txn_size:锁所在事务在其 region 的 key 数量,指导清锁方式。 
2)3.0.8 开始改为 warn 级别
3)backoff 机制:单次初始100 ms,单次最大3000 ms,总共最大 20000ms
4)通过 key 查对应的行可以用 https://github.com/disksing/mok

[解决方案]

少量不需要处理
大量出现时需要根据 table id 综合业务请求来分析
是否有读或者很慢的写请求
1 个赞