Skip to content
New issue

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

seata 1.3版本 全局事务回滚报错提示数组下标越界,有哪位大佬知道这个问题是什么原因导致的吗? #6501

Closed
zhanhw opened this issue Apr 26, 2024 · 1 comment

Comments

@zhanhw
Copy link

zhanhw commented Apr 26, 2024

全局事务回滚报错提示下面的信息,这个会导致全局锁不会被释放,然后下一次请求会出现某张表锁超时的现象 (Cause: io.seata.rm.datasource.exec.LockWaitTimeoutException: Global lock wait timeout)

io.seata.rm.datasource.DataSourceManager [stacktrace]branchRollback failed. branchType:[[AT, 172.31.1.8:8091:527145405500129280, 527145406052933633, jdbc:mysql://172.30.1.86:3306/bill, null, Branch session rollback failed and try again later xid = 172.31.1.8:8091:527145405500129280 branchId = 527145406052933633 Index: 1, Size: 1]], xid:[{}], branchId:[{}], resourceId:[{}], applicationData:[{}]. reason:[{}]
io.seata.core.exception.BranchTransactionException: Branch session rollback failed and try again later xid = 172.31.1.8:8091:527145405500129280 branchId = 527145406052933633 Index: 1, Size: 1
at io.seata.rm.datasource.undo.AbstractUndoLogManager.undo(AbstractUndoLogManager.java:339)
at io.seata.rm.datasource.DataSourceManager.branchRollback(DataSourceManager.java:178)
at io.seata.rm.AbstractRMHandler.doBranchRollback(AbstractRMHandler.java:125)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:67)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:63)
at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)
at io.seata.rm.AbstractRMHandler.handle(AbstractRMHandler.java:63)
at io.seata.rm.DefaultRMHandler.handle(DefaultRMHandler.java:63)
at io.seata.core.protocol.transaction.BranchRollbackRequest.handle(BranchRollbackRequest.java:35)
at io.seata.rm.AbstractRMHandler.onRequest(AbstractRMHandler.java:150)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.handleBranchRollback(RmBranchRollbackProcessor.java:63)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.process(RmBranchRollbackProcessor.java:58)
at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at io.seata.rm.datasource.undo.AbstractUndoExecutor.queryCurrentRecords(AbstractUndoExecutor.java:308)
at io.seata.rm.datasource.undo.AbstractUndoExecutor.dataValidationAndGoOn(AbstractUndoExecutor.java:241)
at io.seata.rm.datasource.undo.AbstractUndoExecutor.executeOn(AbstractUndoExecutor.java:116)
at io.seata.rm.datasource.undo.AbstractUndoLogManager.undo(AbstractUndoLogManager.java:291)
... 16 common frames omitted

麻烦哪位大佬看到了能解答下,感谢。

@slievrly
Copy link
Member

The version is too low. Please try to upgrade the version first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants