为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】 我们的应用(golang实现)在使用TiKV组件存储kv时,由于业务逻辑的原因可能会遇到TxnLockNotFound,在查阅了问题出现的原因可能是由于写入慢导致的之后,我们决定如果遇到该错误就进行重试。但是目前无法在 github.com/tikv/client-go/v2/error 下面找到相应的错误描述。
【应用框架及开发适配业务逻辑】
并发写入tikv的某一行数据,如果出错就重试,结果出现TxnLockNotFound错误
【背景】
【现象】
【问题】 无法从应用侧获取TxnLockNotFound的错误类型
【业务影响】 无法对该特定错误进行重试
【TiDB 版本】TiKV v6.1.0
【附件】 Error(Txn(Error(Mvcc(Error(TxnLockNotFound { start_ts: TimeStamp(440892935474774075), commit_ts: TimeStamp(440892936274313253), key: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 1, 135, 151, 111, 70, 149, 238, 214, 132, 2, 168, 28, 0, 0] })))))', ‘details’: []}
通过pd-ctl工具验证确实事务的commit时间超过了lock的ttl 3s