apache / apache/incubator-seata
AT mode. if register branch after global transaction rollback, lock_table will insert an unrollbackable reocrd
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
- [ ] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
1. AT模式下. 当全局事务回滚之后。某个事务分支重新注册事务成功,lock_table中会存在一条记录并且无法回滚。
### Ⅱ. Describe what happened
seata打印日志如下图:


### Ⅲ. Describe what you expected to happen
是否应该自动回滚掉错误注册的branch?
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
高并发压力测试环境,无法百分之百复现
### Ⅴ. Anything else we need to know?
### Ⅵ. Environment:
- JDK version : 1.8
- OS : centos 7
- Others: seata 1.3.0
Contributor guide
Research direction
Start by reviewing AT transaction branch registration and lock_table handling in Seata 1.3.0, then investigate the concurrent rollback and re-registration sequence described in the issue. Done means an incorrectly registered lock_table record is automatically rolled back and the behavior is covered by a reproducible regression test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100