funky-eyes opened a new issue, #7585: URL: https://github.com/apache/incubator-seata/issues/7585
### Check Ahead - [x] I have searched the [issues](https://github.com/seata/seata/issues) of this repository and believe that this is not a duplicate. - [ ] I am willing to try to fix this bug myself. ### Ⅰ. Issue Description ``` 2025-08-14 06:40:22,842 [SEATA] [main] INFO io.seata.MockTest - branch register(0.6.1) ok, branchId=9690077789048841 2025-08-14 06:40:22,843 [SEATA] [ServerHandlerThread_1_27_500] INFO org.apache.seata.mockserver.processor.MockRemotingProcessor - process message : SeataMergeMessage GlobalCommitRequest{xid='172.18.0.1:8077:9690077789048840', extraData='null'} 2025-08-14 06:40:22,845 [SEATA] [rpcDispatch_RMROLE_7_8] INFO io.seata.core.rpc.netty.RmMessageListener - onMessage:xid=172.18.0.1:8077:9690077789048840,branchId=9690077789048841,branchType=TCC,resourceId=mock-action-061,applicationData={"mock":"mock"} 2025-08-14 06:40:22,845 [SEATA] [rpcDispatch_RMROLE_7_8] INFO io.seata.rm.AbstractRMHandler - Branch committing: 172.18.0.1:8077:9690077789048840 9690077789048841 mock-action-061 {"mock":"mock"} commitTcc:172.18.0.1:8077:9690077789048840,null 2025-08-14 06:40:22,845 [SEATA] [rpcDispatch_RMROLE_7_8] INFO io.seata.rm.AbstractResourceManager - TCC resource commit result :true, xid:172.18.0.1:8077:9690077789048840, branchId:9690077789048841, resourceId:mock-action-061 2025-08-14 06:40:22,845 [SEATA] [rpcDispatch_RMROLE_7_8] INFO io.seata.rm.AbstractRMHandler - Branch commit result: PhaseTwo_Committed 2025-08-14 06:40:22,845 [SEATA] [rpcDispatch_RMROLE_7_8] INFO io.seata.core.rpc.netty.RmRpcClient - RmRpcClient sendResponse xid=172.18.0.1:8077:9690077789048840,branchId=9690077789048841,branchStatus=PhaseTwo_Committed,result code =Success,getMsg =null 2025-08-14 06:40:22,846 [SEATA] [ServerHandlerThread_1_28_500] INFO org.apache.seata.mockserver.processor.MockRemotingProcessor - process message : BranchCommitResponse{xid='172.18.0.1:8077:9690077789048840', branchId=9690077789048841, branchStatus=PhaseTwo_Committed, resultCode=Success, msg='null'} 2025-08-14 06:40:22,846 [SEATA] [ServerHandlerThread_1_27_500] INFO org.apache.seata.mockserver.processor.MockOnReqProcessor - sendAsyncResponse: MergeResultMessage GlobalCommitResponse{globalStatus=Committed, resultCode=Success, msg='null'} 2025-08-14 06:40:22,846 [SEATA] [main] INFO io.seata.MockTest - branch commit(0.6.1) ok, branchId=9690077789048841 2025-08-14 06:40:22,849 [SEATA] [main] INFO org.apache.seata.core.rpc.netty.NettyServerBootstrap - Shutting server down, the listen port: 8077 2025-08-14 06:40:25,853 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemotingClient - channel inactive: [id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.TmRpcClient - return to pool, tm channel:[id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemotingClient - channel inactive: [id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.NettyPoolableFactory - channel valid false,channel:[id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.RmRpcClient - return to pool, rm channel:[id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.NettyPoolableFactory - will destroy channel:[id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.NettyPoolableFactory - channel valid false,channel:[id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.NettyPoolableFactory - will destroy channel:[id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077] 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemoting - ChannelHandlerContext(TmRpcClient#0, [id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077]) will closed 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemoting - ChannelHandlerContext(RmRpcClient#0, [id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077]) will closed 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_TMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemoting - ChannelHandlerContext(TmRpcClient#0, [id: 0x8eb92a9c, L:/127.0.0.1:55608 ! R:/127.0.0.1:8077]) will closed 2025-08-14 06:40:25,854 [SEATA] [NettyClientSelector_RMROLE_1] INFO io.seata.core.rpc.netty.AbstractRpcRemoting - ChannelHandlerContext(RmRpcClient#0, [id: 0x91728868, L:/127.0.0.1:55592 ! R:/127.0.0.1:8077]) will closed Error: Tests run: 6, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 34.404 s <<< FAILURE! - in io.seata.MockTest Error: io.seata.MockTest.testRollback Time elapsed: 30.007 s <<< ERROR! io.seata.core.exception.TransactionException: RPC Timeout at io.seata.MockTest.doTestRollback(MockTest.java:121) at io.seata.MockTest.testRollback(MockTest.java:75) Caused by: java.util.concurrent.TimeoutException: cost 30000 ms at io.seata.MockTest.doTestRollback(MockTest.java:121) at io.seata.MockTest.testRollback(MockTest.java:75) [INFO] [INFO] Results: [INFO] Error: Errors: Error: MockTest.testRollback:75->doTestRollback:121 » Transaction RPC Timeout [INFO] Error: Tests run: 6, Failures: 0, Errors: 1, Skipped: 0 [INFO] ``` https://github.com/apache/incubator-seata/actions/runs/16957797265/job/48063371076?pr=7584 <img width="2154" height="1022" alt="Image" src="https://github.com/user-attachments/assets/87c9d4ee-155a-4daa-9a9c-7617dda10734" /> <img width="1890" height="1446" alt="Image" src="https://github.com/user-attachments/assets/b2995a32-279c-4c06-a6ab-fed8d04da5b1" /> Actually, the RM registration has already been responded to by the server, but the RM still hasn’t received this response. I suspect this is because the rm member variable in RmClientTest is not declared as volatile, which may lead to multiple modifications during concurrent tests and cause this issue. I suggest sorting the test cases in MockTest to prevent them from running in parallel, and adding the volatile keyword to the rm member variable in RmClientTest. ### Ⅱ. Describe what happened _No response_ ### Ⅲ. Describe what you expected to happen _No response_ ### Ⅳ. How to reproduce it (as minimally and precisely as possible) _No response_ ### Ⅴ. Anything else we need to know? _No response_ ### Ⅵ. Environment _No response_ -- 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: notifications-unsubscr...@seata.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org