Open zkyoma opened 1 year ago
假设有全局事务 A,事务 A 对数据库表的某一行 B 操作了多次,第一次时会获取B对应的锁,第二次操作B时会因为第一次的占用而获取锁失败。
在同一个事务内部,多次更新统一资源
获取全局锁时,不仅要检查当前锁是否被获取,还要判断是否已经被当前事务获取,如果是,则获取其他锁即可。
Describe the bug
假设有全局事务 A,事务 A 对数据库表的某一行 B 操作了多次,第一次时会获取B对应的锁,第二次操作B时会因为第一次的占用而获取锁失败。
Environment
Steps to reproduce
在同一个事务内部,多次更新统一资源
Expected behavior
获取全局锁时,不仅要检查当前锁是否被获取,还要判断是否已经被当前事务获取,如果是,则获取其他锁即可。