tidb-server 一直出现 wait response is cancelled 是什么情况

部署版本 4.0.13

1 个赞

KV 的问题

1 个赞

从日志看是有 key lock 了,是发生写写冲突了么?
哪如果是这种情况,悲观模式会有请求被阻塞,超过最大的等待时间就会取消请求,很常见的

日志中出现 pessimistic write conflict, retry statement 比较多

这个要怎么处理,,,

写冲突的话,只能从业务端改造,分析一下业务在什么场景下会出现这种冲突
然后,考虑下怎么样进行避免,来提高写入的效率,减少冲突的情况

比如
T1 时间, 服务A,访问数据行 P,开启了事务,写入了lock
T2 时间,服务B, 也访问了数据行P,开启事务,发现 有锁 ,阻塞等待,等待 A 释放 Lock

这种情况就需要避免,采取更合理的方式,例如可以采用中间件:消息队列,内存队列等等的方式,实现顺序写和顺序更新,这个还是要看业务场景是否可以支持

1 个赞

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