我们目前正在调试部署在Amazon RDS上的MySQL(5.6.21)数据库上的奇怪行为。
从特定日期(即2014年11月12日)开始,我们在Spring应用程序中观察到大量org.hibernate.exception.LockTimeoutException
异常。在那个日期附近几乎没有发生任何事情:
亚马逊将MySQL部署从5.6.20升级到5.6.21。
在我们的一个表格中,我们添加了3个可以为DATETIME
类型的其他列。
我们将lock_wait_timeout
参数值加倍,但它没有带来任何重大结果(可能事件使情况变得更糟,因为出现了更多的锁)。
在或多或少的重要负荷下,它开始变得非常糟糕。在SHOW PROCESSLIST
中,我可以看到很多长时间运行的update
个查询,这些查询会更新DATETIME
个字段。