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

zyk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new ea911e4284f Fix sonar bugs and code smells in 
mpp/execution/operator/schema (#10303)
ea911e4284f is described below

commit ea911e4284f1f9fea6bc73d1f4a67f5665ecb03b
Author: Chen YZ <[email protected]>
AuthorDate: Sun Jun 25 20:49:12 2023 +0800

    Fix sonar bugs and code smells in mpp/execution/operator/schema (#10303)
---
 .../runtime/SchemaExecutionException.java          | 35 ++++++++++++++++++++++
 .../schema/CountGroupByLevelMergeOperator.java     |  6 +---
 .../schema/CountGroupByLevelScanOperator.java      |  3 +-
 .../operator/schema/CountMergeOperator.java        | 21 +++++--------
 .../schema/NodeManageMemoryMergeOperator.java      |  2 +-
 .../operator/schema/SchemaCountOperator.java       |  3 +-
 .../operator/schema/SchemaFetchScanOperator.java   | 10 ++-----
 .../operator/schema/SchemaQueryMergeOperator.java  |  7 ++---
 .../operator/schema/SchemaQueryScanOperator.java   |  4 ++-
 .../operator/schema/SchemaTsBlockUtil.java         |  4 +++
 .../operator/schema/source/DeviceSchemaSource.java |  3 +-
 .../operator/schema/source/ISchemaSource.java      |  6 ++--
 .../schema/source/LogicalViewSchemaSource.java     |  3 +-
 .../operator/schema/source/NodeSchemaSource.java   |  3 +-
 .../schema/source/PathsUsingTemplateSource.java    |  3 +-
 .../schema/source/SchemaSourceFactory.java         |  2 +-
 .../schema/source/TimeSeriesSchemaSource.java      |  5 ++--
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  6 ++--
 .../mpp/execution/operator/OperatorMemoryTest.java |  6 ++--
 .../schema/CountGroupByLevelMergeOperatorTest.java |  1 -
 20 files changed, 80 insertions(+), 53 deletions(-)

diff --git 
a/node-commons/src/main/java/org/apache/iotdb/commons/exception/runtime/SchemaExecutionException.java
 
b/node-commons/src/main/java/org/apache/iotdb/commons/exception/runtime/SchemaExecutionException.java
new file mode 100644
index 00000000000..5ad98c040bf
--- /dev/null
+++ 
b/node-commons/src/main/java/org/apache/iotdb/commons/exception/runtime/SchemaExecutionException.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.commons.exception.runtime;
+
+public class SchemaExecutionException extends RuntimeException {
+
+  public SchemaExecutionException(String message) {
+    super(message);
+  }
+
+  public SchemaExecutionException(String message, Throwable cause) {
+    super(message, cause);
+  }
+
+  public SchemaExecutionException(Throwable cause) {
+    super(cause);
+  }
+}
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperator.java
index a1ec71f1a1a..db550d2797d 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperator.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.db.mpp.execution.operator.schema;
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.mpp.execution.operator.OperatorContext;
 import org.apache.iotdb.db.mpp.execution.operator.process.ProcessOperator;
-import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlock;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
@@ -41,7 +40,6 @@ import static 
com.google.common.util.concurrent.Futures.successfulAsList;
 
 public class CountGroupByLevelMergeOperator implements ProcessOperator {
 
-  private final PlanNodeId planNodeId;
   private final OperatorContext operatorContext;
 
   private final List<Operator> children;
@@ -54,9 +52,7 @@ public class CountGroupByLevelMergeOperator implements 
ProcessOperator {
 
   private int currentIndex = 0;
 
-  public CountGroupByLevelMergeOperator(
-      PlanNodeId planNodeId, OperatorContext operatorContext, List<Operator> 
children) {
-    this.planNodeId = planNodeId;
+  public CountGroupByLevelMergeOperator(OperatorContext operatorContext, 
List<Operator> children) {
     this.operatorContext = operatorContext;
     this.children = children;
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelScanOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelScanOperator.java
index f8524927785..49ceb468ba1 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelScanOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelScanOperator.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.query.info.ISchemaInfo;
 import org.apache.iotdb.db.metadata.query.reader.ISchemaReader;
@@ -126,7 +127,7 @@ public class CountGroupByLevelScanOperator<T extends 
ISchemaInfo> implements Sou
       }
     }
     if (!schemaReader.isSuccess()) {
-      throw new RuntimeException(schemaReader.getFailure());
+      throw new SchemaExecutionException(schemaReader.getFailure());
     }
 
     TsBlockBuilder tsBlockBuilder = new TsBlockBuilder(OUTPUT_DATA_TYPES);
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountMergeOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountMergeOperator.java
index ba62cb6d01f..fd1f2d4f7b9 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountMergeOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountMergeOperator.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.mpp.execution.operator.OperatorContext;
 import org.apache.iotdb.db.mpp.execution.operator.process.ProcessOperator;
-import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlock;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
@@ -36,7 +36,6 @@ import java.util.NoSuchElementException;
 import static com.google.common.util.concurrent.Futures.successfulAsList;
 
 public class CountMergeOperator implements ProcessOperator {
-  private final PlanNodeId planNodeId;
   private final OperatorContext operatorContext;
 
   private final TsBlock[] childrenTsBlocks;
@@ -46,9 +45,7 @@ public class CountMergeOperator implements ProcessOperator {
 
   private final List<Operator> children;
 
-  public CountMergeOperator(
-      PlanNodeId planNodeId, OperatorContext operatorContext, List<Operator> 
children) {
-    this.planNodeId = planNodeId;
+  public CountMergeOperator(OperatorContext operatorContext, List<Operator> 
children) {
     this.operatorContext = operatorContext;
     this.children = children;
 
@@ -87,16 +84,14 @@ public class CountMergeOperator implements ProcessOperator {
     }
     boolean allChildrenReady = true;
     for (int i = 0; i < children.size(); i++) {
-      if (childrenTsBlocks[i] == null) {
+      if (childrenTsBlocks[i] == null && children.get(i).hasNextWithTimer()) {
         // when this operator is not blocked, it means all children that have 
not return TsBlock is
         // not blocked.
-        if (children.get(i).hasNextWithTimer()) {
-          TsBlock tsBlock = children.get(i).nextWithTimer();
-          if (tsBlock == null || tsBlock.isEmpty()) {
-            allChildrenReady = false;
-          } else {
-            childrenTsBlocks[i] = tsBlock;
-          }
+        TsBlock tsBlock = children.get(i).nextWithTimer();
+        if (tsBlock == null || tsBlock.isEmpty()) {
+          allChildrenReady = false;
+        } else {
+          childrenTsBlocks[i] = tsBlock;
         }
       }
     }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodeManageMemoryMergeOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodeManageMemoryMergeOperator.java
index 19e89ea1f3c..26e40921011 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodeManageMemoryMergeOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodeManageMemoryMergeOperator.java
@@ -54,7 +54,7 @@ public class NodeManageMemoryMergeOperator implements 
ProcessOperator {
       OperatorContext operatorContext, Set<TSchemaNode> data, Operator child) {
     this.operatorContext = requireNonNull(operatorContext, "operatorContext is 
null");
     this.data = data;
-    nameSet = data.stream().map(schemaNode -> 
schemaNode.getNodeName()).collect(Collectors.toSet());
+    nameSet = 
data.stream().map(TSchemaNode::getNodeName).collect(Collectors.toSet());
     this.child = requireNonNull(child, "child operator is null");
     isReadingMemory = true;
     this.outputDataTypes =
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaCountOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaCountOperator.java
index 74cb1615051..60e82bf6645 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaCountOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaCountOperator.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.db.metadata.query.info.ISchemaInfo;
 import org.apache.iotdb.db.metadata.query.reader.ISchemaReader;
 import org.apache.iotdb.db.metadata.schemaregion.ISchemaRegion;
@@ -88,7 +89,7 @@ public class SchemaCountOperator<T extends ISchemaInfo> 
implements SourceOperato
         count++;
       }
       if (!schemaReader.isSuccess()) {
-        throw new RuntimeException(schemaReader.getFailure());
+        throw new SchemaExecutionException(schemaReader.getFailure());
       }
     }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
index 79ee0c381ed..8d666494a1f 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaFetchScanOperator.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.db.metadata.schemaregion.ISchemaRegion;
@@ -34,9 +35,6 @@ import 
org.apache.iotdb.tsfile.read.common.block.column.TimeColumn;
 import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.List;
@@ -47,9 +45,6 @@ import java.util.Optional;
 import static 
org.apache.iotdb.tsfile.read.common.block.TsBlockBuilderStatus.DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES;
 
 public class SchemaFetchScanOperator implements SourceOperator {
-
-  private static final Logger logger = 
LoggerFactory.getLogger(SchemaFetchScanOperator.class);
-
   private final PlanNodeId sourceId;
   private final OperatorContext operatorContext;
   private final PathPatternTree patternTree;
@@ -89,8 +84,7 @@ public class SchemaFetchScanOperator implements 
SourceOperator {
     try {
       return fetchSchema();
     } catch (MetadataException e) {
-      logger.error("Error occurred during execute SchemaFetchOperator {}", 
sourceId, e);
-      throw new RuntimeException(e);
+      throw new SchemaExecutionException(e);
     }
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
index 58ce3b2d2fb..b544d106bfc 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryMergeOperator.java
@@ -16,12 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.mpp.execution.operator.OperatorContext;
 import org.apache.iotdb.db.mpp.execution.operator.process.ProcessOperator;
-import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.tsfile.read.common.block.TsBlock;
 
 import com.google.common.util.concurrent.ListenableFuture;
@@ -29,16 +29,13 @@ import com.google.common.util.concurrent.ListenableFuture;
 import java.util.List;
 
 public class SchemaQueryMergeOperator implements ProcessOperator {
-  private final PlanNodeId planNodeId;
   private final OperatorContext operatorContext;
 
   private final List<Operator> children;
 
   private int currentIndex;
 
-  public SchemaQueryMergeOperator(
-      PlanNodeId planNodeId, OperatorContext operatorContext, List<Operator> 
children) {
-    this.planNodeId = planNodeId;
+  public SchemaQueryMergeOperator(OperatorContext operatorContext, 
List<Operator> children) {
     this.operatorContext = operatorContext;
     this.children = children;
     this.currentIndex = 0;
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperator.java
index d9879f511da..966f48ac8b6 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperator.java
@@ -16,8 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.db.mpp.execution.operator.schema;
 
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.query.info.ISchemaInfo;
 import org.apache.iotdb.db.metadata.query.reader.ISchemaReader;
@@ -140,7 +142,7 @@ public class SchemaQueryScanOperator<T extends ISchemaInfo> 
implements SourceOpe
       }
     }
     if (!schemaReader.isSuccess()) {
-      throw new RuntimeException(schemaReader.getFailure());
+      throw new SchemaExecutionException(schemaReader.getFailure());
     }
     return tsBlockBuilder.build();
   }
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaTsBlockUtil.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaTsBlockUtil.java
index 52b11fca507..c9f094d00e5 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaTsBlockUtil.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaTsBlockUtil.java
@@ -34,6 +34,10 @@ public class SchemaTsBlockUtil {
 
   private static final long MAX_SIZE = DEFAULT_MAX_TSBLOCK_SIZE_IN_BYTES;
 
+  private SchemaTsBlockUtil() {
+    // util class
+  }
+
   public static <T> List<TsBlock> transferSchemaResultToTsBlockList(
       Iterator<T> schemaRegionResultIterator,
       List<TSDataType> outputDataTypes,
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/DeviceSchemaSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/DeviceSchemaSource.java
index edc4cc3b82c..3392fe92e30 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/DeviceSchemaSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/DeviceSchemaSource.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.mpp.execution.operator.schema.source;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
 import 
org.apache.iotdb.db.metadata.plan.schemaregion.impl.read.SchemaRegionReadPlanFactory;
@@ -71,7 +72,7 @@ public class DeviceSchemaSource implements 
ISchemaSource<IDeviceSchemaInfo> {
           SchemaRegionReadPlanFactory.getShowDevicesPlan(
               pathPattern, limit, offset, isPrefixMatch, schemaFilter));
     } catch (MetadataException e) {
-      throw new RuntimeException(e.getMessage(), e);
+      throw new SchemaExecutionException(e.getMessage(), e);
     }
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/ISchemaSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/ISchemaSource.java
index d7a8cd73252..b3293c1e9d8 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/ISchemaSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/ISchemaSource.java
@@ -30,17 +30,17 @@ import java.util.List;
 public interface ISchemaSource<T extends ISchemaInfo> {
 
   /**
-   * Get the SchemaReader for iterating target SchemaInfo from given 
SchemaRegion
+   * Get the SchemaReader for iterating target SchemaInfo from given 
SchemaRegion.
    *
    * @return the SchemaReader for SchemaInfo T
    */
   ISchemaReader<T> getSchemaReader(ISchemaRegion schemaRegion);
 
-  /** Get the column headers of the result TsBlock for SchemaInfo query */
+  /** Get the column headers of the result TsBlock for SchemaInfo query. */
   List<ColumnHeader> getInfoQueryColumnHeaders();
 
   /**
-   * Transform the SchemaInfo T to fill the TsBlock
+   * Transform the SchemaInfo T to fill the TsBlock.
    *
    * @param schemaInfo the SchemaInfo need to be processed
    * @param tsBlockBuilder the target TsBlockBuilder using for generating 
TsBlock
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/LogicalViewSchemaSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/LogicalViewSchemaSource.java
index ad72bd8b496..e1143e317f5 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/LogicalViewSchemaSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/LogicalViewSchemaSource.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.mpp.execution.operator.schema.source;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
 import org.apache.iotdb.commons.schema.filter.SchemaFilterFactory;
@@ -76,7 +77,7 @@ public class LogicalViewSchemaSource implements 
ISchemaSource<ITimeSeriesSchemaI
           limit,
           offset);
     } catch (MetadataException e) {
-      throw new RuntimeException(e.getMessage(), e);
+      throw new SchemaExecutionException(e.getMessage(), e);
     }
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/NodeSchemaSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/NodeSchemaSource.java
index 78b4d8d18f5..17e8c973d47 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/NodeSchemaSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/NodeSchemaSource.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.mpp.execution.operator.schema.source;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import 
org.apache.iotdb.db.metadata.plan.schemaregion.impl.read.SchemaRegionReadPlanFactory;
 import org.apache.iotdb.db.metadata.plan.schemaregion.read.IShowNodesPlan;
@@ -59,7 +60,7 @@ public class NodeSchemaSource implements 
ISchemaSource<INodeSchemaInfo> {
     try {
       return schemaRegion.getNodeReader(showNodesPlan);
     } catch (MetadataException e) {
-      throw new RuntimeException(e.getMessage(), e);
+      throw new SchemaExecutionException(e.getMessage(), e);
     }
   }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/PathsUsingTemplateSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/PathsUsingTemplateSource.java
index 70e612d7573..2ce78e50de1 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/PathsUsingTemplateSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/PathsUsingTemplateSource.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.db.mpp.execution.operator.schema.source;
 
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import 
org.apache.iotdb.db.metadata.plan.schemaregion.impl.read.SchemaRegionReadPlanFactory;
 import org.apache.iotdb.db.metadata.query.info.IDeviceSchemaInfo;
@@ -126,7 +127,7 @@ public class PathsUsingTemplateSource implements 
ISchemaSource<IDeviceSchemaInfo
         }
         return false;
       } catch (Exception e) {
-        throw new RuntimeException(e.getMessage(), e);
+        throw new SchemaExecutionException(e.getMessage(), e);
       }
     }
 
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/SchemaSourceFactory.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/SchemaSourceFactory.java
index ccfb31ccef8..867fccf1237 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/SchemaSourceFactory.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/SchemaSourceFactory.java
@@ -31,7 +31,7 @@ import java.util.Map;
 
 public class SchemaSourceFactory {
 
-  private SchemaSourceFactory() {};
+  private SchemaSourceFactory() {}
 
   public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaSource(
       PartialPath pathPattern) {
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/TimeSeriesSchemaSource.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/TimeSeriesSchemaSource.java
index 6752ee3ad55..1799499f823 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/TimeSeriesSchemaSource.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/source/TimeSeriesSchemaSource.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.db.mpp.execution.operator.schema.source;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.commons.exception.runtime.SchemaExecutionException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
 import org.apache.iotdb.commons.schema.view.ViewType;
@@ -77,7 +78,7 @@ public class TimeSeriesSchemaSource implements 
ISchemaSource<ITimeSeriesSchemaIn
           SchemaRegionReadPlanFactory.getShowTimeSeriesPlan(
               pathPattern, templateMap, limit, offset, isPrefixMatch, 
schemaFilter));
     } catch (MetadataException e) {
-      throw new RuntimeException(e.getMessage(), e);
+      throw new SchemaExecutionException(e.getMessage(), e);
     }
   }
 
@@ -89,7 +90,6 @@ public class TimeSeriesSchemaSource implements 
ISchemaSource<ITimeSeriesSchemaIn
   @Override
   public void transformToTsBlockColumns(
       ITimeSeriesSchemaInfo series, TsBlockBuilder builder, String database) {
-    Pair<String, String> deadbandInfo = 
MetaUtils.parseDeadbandInfo(series.getSchema().getProps());
     builder.getTimeColumnBuilder().writeLong(0);
     builder.writeNullableText(0, series.getFullPath());
     builder.writeNullableText(1, series.getAlias());
@@ -106,6 +106,7 @@ public class TimeSeriesSchemaSource implements 
ISchemaSource<ITimeSeriesSchemaIn
     }
     builder.writeNullableText(6, mapToString(series.getTags()));
     builder.writeNullableText(7, mapToString(series.getAttributes()));
+    Pair<String, String> deadbandInfo = 
MetaUtils.parseDeadbandInfo(series.getSchema().getProps());
     builder.writeNullableText(8, deadbandInfo.left);
     builder.writeNullableText(9, deadbandInfo.right);
     builder.declarePosition();
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
index be2fe1b3b3f..fd61080baa8 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
@@ -593,7 +593,7 @@ public class OperatorTreeGenerator extends 
PlanVisitor<Operator, LocalExecutionP
                 node.getPlanNodeId(),
                 SchemaQueryMergeOperator.class.getSimpleName());
     context.getTimeSliceAllocator().recordExecutionWeight(operatorContext, 1);
-    return new SchemaQueryMergeOperator(node.getPlanNodeId(), operatorContext, 
children);
+    return new SchemaQueryMergeOperator(operatorContext, children);
   }
 
   @Override
@@ -608,9 +608,9 @@ public class OperatorTreeGenerator extends 
PlanVisitor<Operator, LocalExecutionP
                 CountMergeOperator.class.getSimpleName());
     context.getTimeSliceAllocator().recordExecutionWeight(operatorContext, 1);
     if (node.getChildren().get(0) instanceof LevelTimeSeriesCountNode) {
-      return new CountGroupByLevelMergeOperator(node.getPlanNodeId(), 
operatorContext, children);
+      return new CountGroupByLevelMergeOperator(operatorContext, children);
     } else {
-      return new CountMergeOperator(node.getPlanNodeId(), operatorContext, 
children);
+      return new CountMergeOperator(operatorContext, children);
     }
   }
 
diff --git 
a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/OperatorMemoryTest.java
 
b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/OperatorMemoryTest.java
index 2ca08105c1d..280eb5d8e8b 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/OperatorMemoryTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/OperatorMemoryTest.java
@@ -765,8 +765,7 @@ public class OperatorMemoryTest {
     }
 
     SchemaQueryMergeOperator operator =
-        new SchemaQueryMergeOperator(
-            queryId.genPlanNodeId(), Mockito.mock(OperatorContext.class), 
children);
+        new SchemaQueryMergeOperator(Mockito.mock(OperatorContext.class), 
children);
 
     assertEquals(expectedMaxPeekMemory, operator.calculateMaxPeekMemory());
     assertEquals(expectedMaxReturnSize, operator.calculateMaxReturnSize());
@@ -794,8 +793,7 @@ public class OperatorMemoryTest {
     }
 
     CountMergeOperator operator =
-        new CountMergeOperator(
-            queryId.genPlanNodeId(), Mockito.mock(OperatorContext.class), 
children);
+        new CountMergeOperator(Mockito.mock(OperatorContext.class), children);
 
     assertEquals(expectedMaxPeekMemory, operator.calculateMaxPeekMemory());
     assertEquals(expectedMaxReturnSize, operator.calculateMaxReturnSize());
diff --git 
a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperatorTest.java
 
b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperatorTest.java
index 9cc4311cbe7..59242db7929 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperatorTest.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/CountGroupByLevelMergeOperatorTest.java
@@ -94,7 +94,6 @@ public class CountGroupByLevelMergeOperatorTest {
 
       CountGroupByLevelMergeOperator mergeOperator =
           new CountGroupByLevelMergeOperator(
-              planNodeId,
               driverContext.getOperatorContexts().get(0),
               Arrays.asList(timeSeriesCountOperator1, 
timeSeriesCountOperator2));
 

Reply via email to