Seata 1.6.1 unLock globalSession error 死锁
前提:Mysql(事务隔离级别为:REPEATABLE_READ)
偶发全局事务 执行 delete from lock_table where xid = ?
死锁 Caused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction
1. 处理流程:
1.1 查询Issue
已有 1.6.1偶发性全局锁死锁 · Issue #5632 · apache/incubator-seata
1.2 查询解决方案
对应fix代码(解决方案里的commit详细内容)
2. 解决方法:
2.1 可以选择修改代码(按照上面网页中的变更调整)
2.2 选择更简单的方式
2.2.1 DBA执行
SET GLOBAL transaction_isolation = 'READ-COMMITTED';
2.2.2 Seata Server 重启即可(不重启,新的事务隔离级别不会应用到已有的连接)