NDB事务CannotAcquireLockException超过锁定等待超时

时间:2018-09-27 10:40:38

标签: mysql hibernate spring-boot spring-transactions mysql-cluster

我正在使用具有master-master体系结构的MySQL NDB集群。我的理解是,如果我在某些基于非ID的数据之后进行搜索,则会命中所有NDB节点。如果一个节点由于该行被另一事务锁定而无法获取锁,并且等待时间已过,那么我将收到“锁定等待超时”异常。

连接到该数据库的应用程序是带有hibernate的标准spring boot(数据库平台:org.hibernate.dialect.MySQL5InnoDBDialect 数据库:MYSQL)

有些事务是只读的。执行读取的事务在值之前或之后都比较好(相对于其他事务)。根据{{​​3}},如果我不添加“锁定共享模式”。这自然会发生。

我的方法带有以下注释:{{1} 我还应该做些其他事情来确保我的应用程序只是在不等待或阻止另一个事务的情况下进行读取吗?

0 个答案:

没有答案