You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If there is an exception, please attach the exception trace:
seata服务端日志:
2024-05-16 16:08:14.946 ERROR --- [ServerHandlerThread_1_39_500] [io.seata.core.exception.AbstractExceptionHandler] [exceptionHandleTemplate] [10.200.7.25:18093:18535623205631387]: Catch TransactionException while do RPC, request: BranchRegisterRequest{xid='10.200.7.25:18093:18535623205631387', branchType=AT, resourceId='jdbc:mysql://10.200.8.1:3306/yxy1', lockKey='bpm_instance:449798968234475524;undo_log:577288', applicationData='{"autoCommit":false,"skipCheckLock":true}'}
==>
io.seata.core.exception.TransactionException: branch register request failed. xid=10.200.7.25:18093:18535623205631387, msg=Duplicate entry 'jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^4497989682344' for key 'PRIMARY'
at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:187) ~[classes!/:1.8.0]
at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179) ~[classes!/:1.8.0]
at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:131) ~[seata-core-1.8.0.jar:1.8.0]
at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179) [classes!/:1.8.0]
at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136) [seata-core-1.8.0.jar:1.8.0]
at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:523) [classes!/:1.8.0]
at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.handleRequestsByMergedWarpMessage(ServerOnRequestProcessor.java:288) [seata-core-1.8.0.jar:1.8.0]
at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:182) [seata-core-1.8.0.jar:1.8.0]
at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:122) [seata-core-1.8.0.jar:1.8.0]
at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:281) [seata-core-1.8.0.jar:1.8.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_261]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.76.Final.jar:4.1.76.Final]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_261]
Caused by: io.seata.common.exception.StoreException: Duplicate entry 'jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^4497989682344' for key 'PRIMARY'
at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:199) ~[classes!/:1.8.0]
at io.seata.server.storage.db.lock.DataBaseLocker.acquireLock(DataBaseLocker.java:64) ~[classes!/:1.8.0]
at io.seata.server.lock.AbstractLockManager.acquireLock(AbstractLockManager.java:65) ~[classes!/:1.8.0]
at io.seata.server.session.BranchSession.lock(BranchSession.java:287) ~[classes!/:1.8.0]
at io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:77) ~[classes!/:1.8.0]
at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$0(AbstractCore.java:83) ~[classes!/:1.8.0]
at io.seata.server.storage.db.session.DataBaseSessionManager.lockAndExecute(DataBaseSessionManager.java:191) ~[classes!/:1.8.0]
at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:367) ~[classes!/:1.8.0]
at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:77) ~[classes!/:1.8.0]
at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:103) ~[classes!/:1.8.0]
at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:294) [classes!/:1.8.0]
at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184) ~[classes!/:1.8.0]
... 13 common frames omitted
Caused by: java.sql.BatchUpdateException: Duplicate entry 'jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^4497989682344' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_261]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_261]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_261]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_261]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.SQLError.createBatchUpdateException(SQLError.java:1162) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeBatchedInserts(PreparedStatement.java:1587) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeBatchInternal(PreparedStatement.java:1253) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.StatementImpl.executeBatch(StatementImpl.java:970) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeBatch(DruidPooledPreparedStatement.java:565) ~[druid-1.2.7.jar:1.2.7]
at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.doAcquireLocks(LockStoreDataBaseDAO.java:371) ~[classes!/:1.8.0]
at io.seata.server.storage.db.lock.LockStoreDataBaseDAO.acquireLock(LockStoreDataBaseDAO.java:187) ~[classes!/:1.8.0]
... 24 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^4497989682344' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_261]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_261]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_261]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_261]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2490) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104) ~[mysql-connector-java-5.1.42.jar:5.1.42]
at com.mysql.jdbc.PreparedStatement.executeBatchedInserts(PreparedStatement.java:1548) ~[mysql-connector-java-5.1.42.jar:5.1.42]
... 29 common frames omitted
<==
Ⅰ. Issue Description
RM注册成功,seata-seaver在写入lock_table表时,生成的row_key截取了部分长度的id,导致lock_table表数据写入失败
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Ⅲ. Describe what you expected to happen
生成的row_key应为:jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^449798968234475524
实际生成的row_key为:jdbc:mysql://10.200.8.1:3306/yxy1^^^bpm_instance^^^4497989682344
Ⅳ. 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
):1.8uname -a
):linuxThe text was updated successfully, but these errors were encountered: