使用seata的AT事务出现报错:
org.springframework.transaction.TransactionSystemException: Could not commit JDBC transaction; nested exception is io.seata.rm.datasource.exec.LockConflictException: get global lock fail
出现原因:
历史操作后报错后,undo_log表的事务记录没有被回滚,也没有被删除
数据库中lock_table的字段长度不足
解决方法:
1.删除undo_log表里上次报错后没有回滚的事务记录(log_status = 0,因为事务回滚成功后log_status = 1)。
2.seata数据库的lock_table修改对应字段的最大长度。