apache / apache/incubator-seata
RmTransactionException: Response[ TransactionException[Could not found global transaction xid = 192.168.10.6:8091:2038906488] ]
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26k
- Forks
- 8.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 4
Description
2020-03-26 15:26:24.293 ERROR 7969 --- [io-18081-exec-1] i.s.r.d.exec.AbstractDMLBaseExecutor : execute executeAutoCommitTrue error:io.seata.core.exception.RmTransactionException: Response[ TransactionException[Could not found global transaction xid = 192.168.10.6:8091:2038906488] ]
java.sql.SQLException: io.seata.core.exception.RmTransactionException: Response[ TransactionException[Could not found global transaction xid = 192.168.10.6:8091:2038906488] ]
at io.seata.rm.datasource.ConnectionProxy.recognizeLockKeyConflictException(ConnectionProxy.java:151) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy.processGlobalTransactionCommit(ConnectionProxy.java:213) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy.doCommit(ConnectionProxy.java:190) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy.lambda$commit$0(ConnectionProxy.java:178) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.execute(ConnectionProxy.java:283) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy.commit(ConnectionProxy.java:177) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.AbstractDMLBaseExecutor.lambda$executeAutoCommitTrue$0(AbstractDMLBaseExecutor.java:92) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.ConnectionProxy$LockRetryPolicy.doRetryOnLockConflict(ConnectionProxy.java:293) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.AbstractDMLBaseExecutor$LockRetryPolicy.execute(AbstractDMLBaseExecutor.java:135) ~[seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.AbstractDMLBaseExecutor.executeAutoCommitTrue(AbstractDMLBaseExecutor.java:90) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.AbstractDMLBaseExecutor.doExecute(AbstractDMLBaseExecutor.java:58) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.BaseTransactionalExecutor.execute(BaseTransactionalExecutor.java:95) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:101) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:47) [seata-all-1.0.0.jar:1.0.0]
at io.seata.rm.datasource.PreparedStatementProxy.execute(PreparedStatementProxy.java:54) [seata-all-1.0.0.jar:1.0.0]
at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47) [mybatis-3.5.3.jar:3.5.3]
at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74) [mybatis-3.5.3.jar:3.5.3]
at com.baomidou.mybatisplus.core.executor.MybatisSimpleExecutor.doUpdate(MybatisSimpleExecutor.java:54) [mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) [mybatis-3.5.3.jar:3.5.3]
at com.baomidou.mybatisplus.core.executor.MybatisCachingExecutor.update(MybatisCachingExecutor.java:83) [mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) [mybatis-3.5.3.jar:3.5.3]
at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) [mybatis-3.5.3.jar:3.5.3]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_211]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_211]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_211]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_211]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:426) [mybatis-spring-2.0.3.jar:2.0.3]
at com.sun.proxy.$Proxy77.insert(Unknown Source) [na:na]
at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:271) [mybatis-spring-2.0.3.jar:2.0.3]
at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:60) [mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:96) [mybatis-plus-core-3.3.1.tmp.jar:3.3.1.tmp]
at com.sun.proxy.$Proxy80.insert(Unknown Source) [na:na]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the stack-trace entry points in ConnectionProxy.java, especially recognizeLockKeyConflictException, processGlobalTransactionCommit, and the commit retry path. Trace how xid 192.168.10.6:8091:2038906488 is handled when the global transaction cannot be found. Done should include an identified cause and a verified correction for this failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100