This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch check-shit in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f2513ee1865281b76fad3c99bab75411ca0d3cf5 Author: Steve Yurong Su <[email protected]> AuthorDate: Thu Jul 10 12:40:00 2025 +0800 fix shit --- .../db/pipe/agent/task/subtask/connector/PipeConnectorSubtask.java | 5 +++++ .../protocol/thrift/async/IoTDBDataRegionAsyncConnector.java | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/connector/PipeConnectorSubtask.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/connector/PipeConnectorSubtask.java index 5d8d622a74a..2415ea6e36e 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/connector/PipeConnectorSubtask.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/connector/PipeConnectorSubtask.java @@ -164,6 +164,11 @@ public class PipeConnectorSubtask extends PipeAbstractConnectorSubtask { } private void transferHeartbeatEvent(final PipeHeartbeatEvent event) { + // DO NOT call heartbeat or transfer after closed, or will cause connection leak + if (isClosed.get()) { + return; + } + try { outputPipeConnector.heartbeat(); outputPipeConnector.transfer(event); diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/IoTDBDataRegionAsyncConnector.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/IoTDBDataRegionAsyncConnector.java index af10360a036..176bcd94cfb 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/IoTDBDataRegionAsyncConnector.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/IoTDBDataRegionAsyncConnector.java @@ -198,7 +198,9 @@ public class IoTDBDataRegionAsyncConnector extends IoTDBConnector { @Override public void heartbeat() throws Exception { - syncConnector.heartbeat(); + if (!isClosed()) { + syncConnector.heartbeat(); + } } @Override
