gitHubYi opened a new issue, #6738:
URL: https://github.com/apache/incubator-seata/issues/6738
### Ⅰ. Issue Description
同一个全局事务下多个本地事务修改同一条数据,异常回滚,回滚顺序不是逆序的,导致check dirty data
failed,无法回滚。请问下为啥回滚不是逆序的?
### Ⅱ. Describe what happened
客户端日志:
2024-08-07 17:54:35,146 [/] [NettyClientSelector_RMROLE_1_1] DEBUG
i.s.c.r.netty.AbstractNettyRemoting -
io.seata.core.rpc.netty.RmNettyRemotingClient@28a852b7 msgId:13,
body:BranchRollbackRequest{xid='10.8.99.243:8091:4477129246364476175',
branchId=4477129246364476177, branchType=AT, resourceId='xxx',
applicationData='{"autoCommit":false}'}
2024-08-07 17:54:35,146 [/] [rpcDispatch_RMROLE_1_2_40] INFO
i.s.c.r.p.c.RmBranchRollbackProcessor - rm handle branch rollback
process:BranchRollbackRequest{xid='10.8.99.243:8091:4477129246364476175',
branchId=4477129246364476177, branchType=AT, resourceId='xxxxx',
applicationData='{"autoCommit":false}'}
2024-08-07 17:54:35,147 [/] [rpcDispatch_RMROLE_1_2_40] INFO
io.seata.rm.AbstractRMHandler - Branch Rollbacking:
10.8.99.243:8091:4477129246364476175 4477129246364476177 xxxx
2024-08-07 17:54:35,215 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
c.a.druid.pool.PreparedStatementPool - {conn-10011, pstmt-20044} exit cache
2024-08-07 17:54:35,215 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
c.a.druid.pool.PreparedStatementPool - {conn-10011, pstmt-20068} enter cache
2024-08-07 17:54:35,215 [/] [rpcDispatch_RMROLE_1_2_40] INFO
i.s.r.d.undo.AbstractUndoExecutor - Field not equals, name updateUser, old
value xxxx, new value xxxx
2024-08-07 17:54:35,216 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
i.s.r.d.undo.AbstractUndoExecutor - check dirty data failed, old and new data
are not equal, tableName:[xxxx],oldRows:xxxx
2024-08-07 17:54:35,224 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
c.a.druid.pool.PreparedStatementPool - {conn-10011, pstmt-20045} exit cache
2024-08-07 17:54:35,225 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
c.a.druid.pool.PreparedStatementPool - {conn-10011, pstmt-20067} enter cache
2024-08-07 17:54:35,232 [/] [rpcDispatch_RMROLE_1_2_40] ERROR
i.s.rm.datasource.DataSourceManager - branchRollback failed. branchType:[AT],
xid:[10.8.99.243:8091:4477129246364476175], branchId:[4477129246364476177],
resourceId:[xxx], applicationData:[{"autoCommit":false}]. reason:[Branch
session rollback failed because of dirty undo log, please delete the relevant
undolog after manually calibrating the data. xid =
10.8.99.243:8091:4477129246364476175 branchId = 4477129246364476177]
2024-08-07 17:54:35,233 [/] [rpcDispatch_RMROLE_1_2_40] INFO
io.seata.rm.AbstractRMHandler - Branch Rollbacked result:
PhaseTwo_RollbackFailed_Unretryable
2024-08-07 17:54:35,233 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
i.s.c.r.p.c.RmBranchRollbackProcessor - branch rollback
result:BranchRollbackResponse{xid='10.8.99.243:8091:4477129246364476175',
branchId=4477129246364476177, branchStatus=PhaseTwo_RollbackFailed_Unretryable,
resultCode=Success, msg='null'}
2024-08-07 17:54:35,233 [/] [rpcDispatch_RMROLE_1_2_40] DEBUG
i.s.c.r.netty.AbstractNettyRemoting - write
message:BranchRollbackResponse{xid='10.8.99.243:8091:4477129246364476175',
branchId=4477129246364476177, branchStatus=PhaseTwo_RollbackFailed_Unretryable,
resultCode=Success, msg='null'}, channel:[id: 0xc3d0ee0a, L:/127.0.0.1:50540 -
R:/127.0.0.1:8091],active?true,writable?true,isopen?true
undo_log

branch_table

- JDK version(e.g. `java -version`): 1.8
- Seata client/server version: 2.0
- Database version: mysql 5.7
- OS(e.g. `uname -a`):
- Others:
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]