diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/TransactionHandlerManager.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/TransactionHandlerManager.java index 200e0bcd5..7572b3818 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/TransactionHandlerManager.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/TransactionHandlerManager.java @@ -65,6 +65,10 @@ public class TransactionHandlerManager { } } + public NormalTransactionHandler getNormalTransactionHandler() { + return (NormalTransactionHandler) normalHandler; + } + public void commit() { if (xaTxId != null) { xaHandler.commit(); diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/CommitStage.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/CommitStage.java index 27136467b..3f9d45366 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/CommitStage.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/CommitStage.java @@ -64,6 +64,7 @@ public class CommitStage extends Stage implements TransactionStage { } private void asyncNext(boolean isFail, String errMsg, MySQLPacket sendData) { + session.getTransactionManager().getNormalTransactionHandler().clearResources(); if (isFail) { session.setFinishedCommitTime(); session.setResponseTime(false); @@ -87,6 +88,7 @@ public class CommitStage extends Stage implements TransactionStage { } private void syncNext(boolean isFail, String errMsg, MySQLPacket sendData) { + session.getTransactionManager().getNormalTransactionHandler().clearResources(); if (isFail) { session.getShardingService().setPacketId(0); if (sendData != null) { diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/RollbackStage.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/RollbackStage.java index cf452b628..5bcdc1a48 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/RollbackStage.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/normal/stage/RollbackStage.java @@ -37,7 +37,7 @@ public class RollbackStage implements TransactionStage { } session.setResponseTime(false); - + session.getTransactionManager().getNormalTransactionHandler().clearResources(); LOGGER.info("GET INTO THE NET LEVEL AND THE RESULT IS " + isFail); if (isFail) { if (sendData != null) {