官方文档说"单个语句最大重试次数" ,这个是针对txnStartTS 的重试次数还是 报错 SQL DIGEST来计算次数?
肯定是针对某一个sql,不是某一类sql了。。。。
报错后 就终止连接了吧?
报错后,这个SQL就终止执行了。
至于连接这个问题,通常客户端访问数据库是建立的mysql协议 TCP长连接,如果客户端不主动断开或者没有遇到系统超时的情况,连接应该还是在的。
1 个赞
系统超时 是指TIDB设置的超时?
有个updata语句, set 某个字段的值不一样,不停的 retrying,日志write conflict
产生了大量的日志,conn 值也不是都一样,这种是不是只能从应用端去处理?
没找到从 DB 端控制的方式
系统超时是指TiDB/MySQL这类数据库,遇到一些空闲链接太长时间没用,就会从服务端断开它,避免造成资源浪费或出现其他问题。这个时间通常默认是7天,用户可以调整为其他值。
不同事务对相同的数据记录update,出现write config 说明事务冲突了。
这种问题数据库侧做的事情不多,调整各种参数最多只能是缓解症状。要根本解决问题,就需要从应用侧去处理,尽可能避免同时操作相同数据。
这个是为了避免过多的重试造成资源浪费
是的,像这种事务导致的锁冲突只能从业务层面解决,靠数据库只能保证数据一致性,不能保证业务。