From 9b184d4b56aaa97b16a8a403faca33264ef210fe Mon Sep 17 00:00:00 2001 From: wenyh <44251917+wenyh1@users.noreply.github.com> Date: Mon, 22 May 2023 17:51:45 +0800 Subject: [PATCH] [inner-2222] clear the 'sendData' resource in the transaction correctly (cherry pick from #3702) --- .../nio/handler/transaction/TransactionHandlerManager.java | 4 ++++ .../nio/handler/transaction/normal/stage/CommitStage.java | 2 +- .../nio/handler/transaction/normal/stage/RollbackStage.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) 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 2f99b1fea..b978e78f9 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 @@ -60,6 +60,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 f311abfae..24fd5b888 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 @@ -34,7 +34,7 @@ public class CommitStage implements TransactionStage { if (session.closed()) { return null; } - + session.getTransactionManager().getNormalTransactionHandler().clearResources(); if (isFail) { session.setFinishedCommitTime(); session.setResponseTime(false); 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 166f7aa76..4f6e98422 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 @@ -31,7 +31,7 @@ public class RollbackStage implements TransactionStage { if (session.closed()) { return null; } - + session.getTransactionManager().getNormalTransactionHandler().clearResources(); session.setResponseTime(false); if (isFail) { session.getSource().write(sendData);