线程池中的某个线程一直运行中, 某个 update sql 执行超时

来源:互联网 发布:诱红楼知乐百度云 编辑:程序博客网 时间:2024/05/17 03:40


排查日志log 发现,某个update sql 执行超时。

觉得很纳闷。

然而手工单独执行这个 update sql 却很快。


后来联系dba 排查才发现,原来是有 互锁。 这个update sql本身无任何问题,但是 另外有一个 其他人 启动的 大事务,该事务 会 insert 该表,故锁表。

故导致 该update sql一直等待 另外的大事务。 导致 超时失败。


另外一个原因是 dba那边 将该mysql库的 事务超时 时间 设置的一个小时,过长,导致 等了一个小时 才失败。 显然不合理,故 恢复默认的 超时时长。 


补充:

2015-7-21 20:10:42   发现可能和 线程池有关。 由于 dbproxy本身就有线程池,故  应用端 自身不需要 维护  连接池。如果存在两个连接池,则可能有问题。




0 0
原创粉丝点击