这个如果有影响的话,也是造成应用响应时间过长吧,不会造成应用连接的中断吧?
是的,有重试机制。
还想问一下,tidb里面有设置锁超时的等待时间吗?比如发生锁等待以后,超过多长时间让等待者的事务回滚。
是这个
我找到了,有这个参数。
等锁的超时时间由 TiDB 的 innodb_lock_wait_timeout 参数来定义,这个是 SQL 语句层面的最大允许等锁时间,即一个 SQL 语句期望加锁,但锁一直获取不到,超过这个时间,TiDB 不会再尝试加锁,会向客户端返回相应的报错信息。
可通过查看 TiDB 日志查看报错信息:
当出现等锁超时的情况时,会向客户端返回下述报错信息:
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
1 个赞
TIDB分为乐观事务和悲观事务,参考下这里吧
https://docs.pingcap.com/zh/tidb/stable/optimistic-transaction
https://docs.pingcap.com/zh/tidb/stable/optimistic-transaction
- 通过
innodb_lock_wait_timeout变量,设置事务等锁的超时时间(默认值为50,单位为秒)。等锁超时后返回兼容 MySQL 的错误码1205。如果多个事务同时等待同一个锁释放,会大致按照事务start ts顺序获取锁。
1 个赞
我的是4.0.6.默认的悲观锁
我这业务量也不大呀,为啥transfer-hot-write-leader平均下来是7个opm呢,这个量大吗?
transfer-hot-write-leader,这个指标具体是什么意思呀?
某个region写入量比较大的时候,算热点region。如果一个tikv上的热点region比其他tikv上的热点region高,就会平衡热点region。 这个监控指标就是这个意思。 至于上面说的量大小,我不好评估,如果对业务影响不大,就没事儿。
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。