You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2023/04/19 12:11:51 UTC
[iotdb] 01/01: Fix bug caused by acknowledgeTsBlock
This is an automated email from the ASF dual-hosted git repository.
xiangweiwei pushed a commit to branch acknowledgeBug
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 51a4c57f5806723b52db16d6c22478c4f2151e74
Author: Alima777 <wx...@gmail.com>
AuthorDate: Wed Apr 19 20:08:23 2023 +0800
Fix bug caused by acknowledgeTsBlock
---
.../mpp/execution/exchange/sink/SinkChannel.java | 23 +++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
index fd11f74990..a6de35027a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/sink/SinkChannel.java
@@ -323,21 +323,22 @@ public class SinkChannel implements ISinkChannel {
iterator.remove();
LOGGER.debug("[ACKTsBlock] {}.", entry.getKey());
}
+
+ // there may exist duplicate ack message in network caused by caller retrying, if so duplicate
+ // ack message's freedBytes may be zero
+ if (freedBytes > 0) {
+ localMemoryManager
+ .getQueryPool()
+ .free(
+ localFragmentInstanceId.getQueryId(),
+ fullFragmentInstanceId,
+ localPlanNodeId,
+ freedBytes);
+ }
}
if (isFinished()) {
sinkListener.onFinish(this);
}
- // there may exist duplicate ack message in network caused by caller retrying, if so duplicate
- // ack message's freedBytes may be zero
- if (freedBytes > 0) {
- localMemoryManager
- .getQueryPool()
- .free(
- localFragmentInstanceId.getQueryId(),
- fullFragmentInstanceId,
- localPlanNodeId,
- freedBytes);
- }
}
@Override