We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refer: apache/incubator-seata#5833
XA模式,在执行 connection.start() 前,收到 TC 的回滚请求,此时由于分支事务还没开始会回滚失败,然后将分支状态改为 PhaseTwo_Rollbacked , 接着执行 start(),此时 termination()方法由于状态是PhaseTwo_Rollbacked而抛异常,catch住后,回滚分支事务成功,没有报告给 TC,然后 TC 会一直回滚直到超时
connection.start()
PhaseTwo_Rollbacked
private synchronized void start() throws XAException, SQLException { ... try { termination(); } catch (SQLException e) { // the framework layer does not actively call ROLLBACK when setAutoCommit throws an SQL exception xaResource.end(this.xaBranchXid, XAResource.TMFAIL); xaRollback(xaBranchXid); throw e; } }
TC侧
14:07:55.393 INFO --- [ batchLoggerPrint_1_1] [ocessor.server.BatchLogHandler] [ run] [] : receive msg[single]: BranchRollbackResponse{xid='192.168.70.224:8091:540864619345956865', branchId=540864619345956875, branchStatus=PhaseTwo_RollbackFailed_XAER_NOTA_Retryable, resultCode=Success, msg='null'}, clientIp: 192.168.70.224, vgroup: tx_group_shopping 14:07:55.393 INFO --- [ RetryRollbacking_1_1] [server.coordinator.DefaultCore] [a$doGlobalRollback$3] [192.168.70.224:8091:540864619345956865] : Rollback branch XAER_NOTA retry timeout, xid = 192.168.70.224:8091:540864619345956865 branchId = 540864619345956875
RM侧
14:07:55.392 [rpcDispatch_RMROLE_1_24_24] DEBUG i.s.c.r.p.c.RmBranchRollbackProcessor.65 - branch rollback result:BranchRollbackResponse{xid='192.168.70.224:8091:540864619345956865', branchId=540864619345956875, branchStatus=PhaseTwo_RollbackFailed_XAER_NOTA_Retryable, resultCode=Success, msg='null'}
If there is an exception, please attach the exception trace:
Just paste your stack trace here!
Minimal yet complete reproducer code (or URL to code):
java -version
uname -a
The text was updated successfully, but these errors were encountered:
pls assign to me
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
refer: apache/incubator-seata#5833
Ⅰ. Issue Description
XA模式,在执行
connection.start()
前,收到 TC 的回滚请求,此时由于分支事务还没开始会回滚失败,然后将分支状态改为PhaseTwo_Rollbacked
, 接着执行 start(),此时 termination()方法由于状态是PhaseTwo_Rollbacked
而抛异常,catch住后,回滚分支事务成功,没有报告给 TC,然后 TC 会一直回滚直到超时Ⅱ. Describe what happened
TC侧
RM侧
If there is an exception, please attach the exception trace:
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)
Minimal yet complete reproducer code (or URL to code):
Ⅴ. Anything else we need to know?
Ⅵ. Environment:
java -version
):uname -a
):The text was updated successfully, but these errors were encountered: