This is an automated email from the ASF dual-hosted git repository.

JackieTien97 pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new f3b83aafb1f [to dev/1.3] Fix nested ColumnTransformer close
f3b83aafb1f is described below

commit f3b83aafb1fe0cabc0a9de89f23e103b3abaa3f7
Author: shuwenwei <[email protected]>
AuthorDate: Tue May 12 18:20:54 2026 +0800

    [to dev/1.3] Fix nested ColumnTransformer close
---
 .../dag/column/CaseWhenThenColumnTransformer.java              | 10 ++++++++++
 .../dag/column/binary/BinaryColumnTransformer.java             |  7 +++++++
 .../dag/column/multi/MappableUDFColumnTransformer.java         |  4 ++++
 .../dag/column/ternary/TernaryColumnTransformer.java           |  8 ++++++++
 .../dag/column/unary/UnaryColumnTransformer.java               |  6 ++++++
 5 files changed, 35 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java
index 68910f2aa4b..94156d1c71b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java
@@ -128,4 +128,14 @@ public class CaseWhenThenColumnTransformer extends 
ColumnTransformer {
   protected void checkType() {
     // do nothing
   }
+
+  @Override
+  public void close() {
+    super.close();
+    for (Pair<ColumnTransformer, ColumnTransformer> whenThenTransformer : 
whenThenTransformers) {
+      whenThenTransformer.left.close();
+      whenThenTransformer.right.close();
+    }
+    elseTransformer.close();
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
index 6e074abe08f..996c6763afd 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java
@@ -63,4 +63,11 @@ public abstract class BinaryColumnTransformer extends 
ColumnTransformer {
   public ColumnTransformer getRightTransformer() {
     return rightTransformer;
   }
+
+  @Override
+  public void close() {
+    super.close();
+    this.leftTransformer.close();
+    this.rightTransformer.close();
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
index b3562a29208..74f15ab7055 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java
@@ -70,6 +70,10 @@ public class MappableUDFColumnTransformer extends 
ColumnTransformer {
 
   @Override
   public void close() {
+    super.close();
+    for (ColumnTransformer inputColumnTransformer : inputColumnTransformers) {
+      inputColumnTransformer.close();
+    }
     // finalize executor
     executor.beforeDestroy();
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
index 6d747d3dae8..1638d273bff 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java
@@ -54,4 +54,12 @@ public abstract class TernaryColumnTransformer extends 
ColumnTransformer {
   public ColumnTransformer getThirdColumnTransformer() {
     return thirdColumnTransformer;
   }
+
+  @Override
+  public void close() {
+    super.close();
+    firstColumnTransformer.close();
+    secondColumnTransformer.close();
+    thirdColumnTransformer.close();
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
index 0f1f48cfee8..e29ea0bf56f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java
@@ -53,4 +53,10 @@ public abstract class UnaryColumnTransformer extends 
ColumnTransformer {
   }
 
   protected abstract void doTransform(Column column, ColumnBuilder 
columnBuilder);
+
+  @Override
+  public void close() {
+    super.close();
+    childColumnTransformer.close();
+  }
 }

Reply via email to