From 63bf359c416b4e3c554dcb892a548f4bd0d78111 Mon Sep 17 00:00:00 2001 From: Collapsar Date: Tue, 29 Nov 2022 13:20:37 +0800 Subject: [PATCH] inner 2022 - promise that add unResponseRrns is atomic (#3497) (cherry picked from commit bbdb76ee2297411fafd4243f4fd177cd875d4f3d) --- .../transaction/xa/handler/AbstractXAHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/xa/handler/AbstractXAHandler.java b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/xa/handler/AbstractXAHandler.java index 0f52edf7a..eb9399014 100644 --- a/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/xa/handler/AbstractXAHandler.java +++ b/src/main/java/com/actiontech/dble/backend/mysql/nio/handler/transaction/xa/handler/AbstractXAHandler.java @@ -171,8 +171,13 @@ public abstract class AbstractXAHandler extends MultiNodeHandler { public Set setUnResponseRrns() { Set targetKeys = session.getTargetKeys(); - this.unResponseRrns.addAll(targetKeys); - return targetKeys; + lock.lock(); + try { + this.unResponseRrns.addAll(targetKeys); + return targetKeys; + } finally { + lock.unlock(); + } } public String getXAStage() {