You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by zy...@apache.org on 2023/06/29 12:00:11 UTC

[iotdb] branch rel/1.2 updated: [To rel/1.2] Speed up metadata queries that do not require pulling raw information from the view (#10370)

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

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


The following commit(s) were added to refs/heads/rel/1.2 by this push:
     new ddb9d36e8fe [To rel/1.2] Speed up metadata queries that do not require pulling raw information from the view  (#10370)
ddb9d36e8fe is described below

commit ddb9d36e8fe36aa8c13e545f6a5a0724c05d6a6f
Author: Chen YZ <43...@users.noreply.github.com>
AuthorDate: Thu Jun 29 20:00:02 2023 +0800

    [To rel/1.2] Speed up metadata queries that do not require pulling raw information from the view  (#10370)
---
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java   |  3 ++-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java   |  3 ++-
 .../impl/read/SchemaRegionReadPlanFactory.java      | 12 +++++++-----
 .../impl/read/ShowTimeSeriesPlanImpl.java           | 10 +++++++++-
 .../plan/schemaregion/read/IShowTimeSeriesPlan.java |  2 ++
 .../query/reader/TimeseriesReaderWithViewFetch.java | 21 ++++++++++++++++++++-
 .../schema/source/LogicalViewSchemaSource.java      |  3 ++-
 .../operator/schema/source/SchemaSourceFactory.java | 14 +++++---------
 .../schema/source/TimeSeriesSchemaSource.java       | 19 +++++++++++--------
 .../db/mpp/plan/planner/OperatorTreeGenerator.java  |  6 +++---
 .../thrift/impl/DataNodeInternalRPCServiceImpl.java |  3 ++-
 .../schemaRegion/SchemaRegionBasicTest.java         | 15 ++++++++++-----
 .../metadata/schemaRegion/SchemaRegionTestUtil.java |  4 ++--
 .../schema/SchemaQueryScanOperatorTest.java         |  2 +-
 14 files changed, 78 insertions(+), 39 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
index d567b6c8a3e..c02560fba7f 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
@@ -1144,7 +1144,8 @@ public class MTreeBelowSGCachedImpl {
 
     collector.setTemplateMap(showTimeSeriesPlan.getRelatedTemplate(), nodeFactory);
     ISchemaReader<ITimeSeriesSchemaInfo> reader =
-        new TimeseriesReaderWithViewFetch(collector, showTimeSeriesPlan.getSchemaFilter());
+        new TimeseriesReaderWithViewFetch(
+            collector, showTimeSeriesPlan.getSchemaFilter(), showTimeSeriesPlan.needViewDetail());
     if (showTimeSeriesPlan.getLimit() > 0 || showTimeSeriesPlan.getOffset() > 0) {
       return new SchemaReaderLimitOffsetWrapper<>(
           reader, showTimeSeriesPlan.getLimit(), showTimeSeriesPlan.getOffset());
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
index 7bfefc9b189..225eed79580 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
@@ -1005,7 +1005,8 @@ public class MTreeBelowSGMemoryImpl {
 
     collector.setTemplateMap(showTimeSeriesPlan.getRelatedTemplate(), nodeFactory);
     ISchemaReader<ITimeSeriesSchemaInfo> reader =
-        new TimeseriesReaderWithViewFetch(collector, showTimeSeriesPlan.getSchemaFilter());
+        new TimeseriesReaderWithViewFetch(
+            collector, showTimeSeriesPlan.getSchemaFilter(), showTimeSeriesPlan.needViewDetail());
     if (showTimeSeriesPlan.getLimit() > 0 || showTimeSeriesPlan.getOffset() > 0) {
       return new SchemaReaderLimitOffsetWrapper<>(
           reader, showTimeSeriesPlan.getLimit(), showTimeSeriesPlan.getOffset());
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/SchemaRegionReadPlanFactory.java b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/SchemaRegionReadPlanFactory.java
index 0156822a166..b2d499057da 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/SchemaRegionReadPlanFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/SchemaRegionReadPlanFactory.java
@@ -57,13 +57,13 @@ public class SchemaRegionReadPlanFactory {
 
   @TestOnly
   public static IShowTimeSeriesPlan getShowTimeSeriesPlan(PartialPath path) {
-    return new ShowTimeSeriesPlanImpl(path, Collections.emptyMap(), 0, 0, false, null);
+    return new ShowTimeSeriesPlanImpl(path, Collections.emptyMap(), 0, 0, false, null, false);
   }
 
   @TestOnly
   public static IShowTimeSeriesPlan getShowTimeSeriesPlan(
       PartialPath path, Map<Integer, Template> relatedTemplate) {
-    return new ShowTimeSeriesPlanImpl(path, relatedTemplate, 0, 0, false, null);
+    return new ShowTimeSeriesPlanImpl(path, relatedTemplate, 0, 0, false, null, false);
   }
 
   @TestOnly
@@ -75,7 +75,8 @@ public class SchemaRegionReadPlanFactory {
         0,
         0,
         false,
-        SchemaFilterFactory.createTagFilter(key, value, isContains));
+        SchemaFilterFactory.createTagFilter(key, value, isContains),
+        false);
   }
 
   public static IShowTimeSeriesPlan getShowTimeSeriesPlan(
@@ -84,9 +85,10 @@ public class SchemaRegionReadPlanFactory {
       long limit,
       long offset,
       boolean isPrefixMatch,
-      SchemaFilter schemaFilter) {
+      SchemaFilter schemaFilter,
+      boolean needViewDetail) {
     return new ShowTimeSeriesPlanImpl(
-        path, relatedTemplate, limit, offset, isPrefixMatch, schemaFilter);
+        path, relatedTemplate, limit, offset, isPrefixMatch, schemaFilter, needViewDetail);
   }
 
   public static IShowNodesPlan getShowNodesPlan(PartialPath path) {
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/ShowTimeSeriesPlanImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/ShowTimeSeriesPlanImpl.java
index ca5b89f1e41..6b85f13f7e0 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/ShowTimeSeriesPlanImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/read/ShowTimeSeriesPlanImpl.java
@@ -34,6 +34,7 @@ public class ShowTimeSeriesPlanImpl extends AbstractShowSchemaPlanImpl
   private final Map<Integer, Template> relatedTemplate;
 
   private final SchemaFilter schemaFilter;
+  private final boolean needViewDetail;
 
   ShowTimeSeriesPlanImpl(
       PartialPath path,
@@ -41,10 +42,17 @@ public class ShowTimeSeriesPlanImpl extends AbstractShowSchemaPlanImpl
       long limit,
       long offset,
       boolean isPrefixMatch,
-      SchemaFilter schemaFilter) {
+      SchemaFilter schemaFilter,
+      boolean needViewDetail) {
     super(path, limit, offset, isPrefixMatch);
     this.relatedTemplate = relatedTemplate;
     this.schemaFilter = schemaFilter;
+    this.needViewDetail = needViewDetail;
+  }
+
+  @Override
+  public boolean needViewDetail() {
+    return needViewDetail;
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java
index 936fb27facd..ee6674e8a8b 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java
@@ -27,6 +27,8 @@ import java.util.Map;
 
 public interface IShowTimeSeriesPlan extends IShowSchemaPlan {
 
+  boolean needViewDetail();
+
   SchemaFilter getSchemaFilter();
 
   Map<Integer, Template> getRelatedTemplate();
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/query/reader/TimeseriesReaderWithViewFetch.java b/server/src/main/java/org/apache/iotdb/db/metadata/query/reader/TimeseriesReaderWithViewFetch.java
index 6bc7aa75268..5789463069e 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/query/reader/TimeseriesReaderWithViewFetch.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/query/reader/TimeseriesReaderWithViewFetch.java
@@ -21,12 +21,14 @@ package org.apache.iotdb.db.metadata.query.reader;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTree;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
+import org.apache.iotdb.commons.schema.filter.SchemaFilterType;
 import org.apache.iotdb.commons.schema.tree.SchemaIterator;
 import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
 import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
 import org.apache.iotdb.db.metadata.query.info.ITimeSeriesSchemaInfo;
 import org.apache.iotdb.db.metadata.view.viewExpression.visitor.GetSourcePathsVisitor;
 import org.apache.iotdb.db.metadata.view.viewExpression.visitor.TransformToExpressionVisitor;
+import org.apache.iotdb.db.metadata.visitor.FilterContainsVisitor;
 import org.apache.iotdb.db.metadata.visitor.TimeseriesFilterVisitor;
 import org.apache.iotdb.db.mpp.common.NodeRef;
 import org.apache.iotdb.db.mpp.common.schematree.ISchemaTree;
@@ -57,6 +59,11 @@ public class TimeseriesReaderWithViewFetch implements ISchemaReader<ITimeSeriesS
   private ITimeSeriesSchemaInfo next = null;
   private boolean consumeView = false;
   private final SchemaFilter schemaFilter;
+  /**
+   * There is no need to pull the original sequence information from the view if needFetch is false.
+   * The default is false if not filtered by DataType.
+   */
+  private final boolean needFetch;
 
   /**
    * If isBlocked is null, it means the next is not fetched yet. If isBlocked.isDone() is false, it
@@ -72,6 +79,18 @@ public class TimeseriesReaderWithViewFetch implements ISchemaReader<ITimeSeriesS
       SchemaIterator<ITimeSeriesSchemaInfo> iterator, SchemaFilter schemaFilter) {
     this.iterator = iterator;
     this.schemaFilter = schemaFilter;
+    this.needFetch = new FilterContainsVisitor().process(schemaFilter, SchemaFilterType.DATA_TYPE);
+  }
+
+  public TimeseriesReaderWithViewFetch(
+      SchemaIterator<ITimeSeriesSchemaInfo> iterator,
+      SchemaFilter schemaFilter,
+      boolean needViewDetail) {
+    this.iterator = iterator;
+    this.schemaFilter = schemaFilter;
+    this.needFetch =
+        needViewDetail
+            || new FilterContainsVisitor().process(schemaFilter, SchemaFilterType.DATA_TYPE);
   }
 
   @Override
@@ -114,7 +133,7 @@ public class TimeseriesReaderWithViewFetch implements ISchemaReader<ITimeSeriesS
       ITimeSeriesSchemaInfo temp;
       while (iterator.hasNext()) {
         temp = iterator.next();
-        if (temp.isLogicalView()) {
+        if (needFetch && temp.isLogicalView()) {
           // view timeseries
           cachedViewList.add(temp.snapshot());
           if (cachedViewList.size() >= BATCH_CACHED_SIZE) {
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 f39a14570d3..137678fa419 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
@@ -70,7 +70,8 @@ public class LogicalViewSchemaSource implements ISchemaSource<ITimeSeriesSchemaI
               offset,
               false,
               SchemaFilterFactory.and(
-                  schemaFilter, SchemaFilterFactory.createViewTypeFilter(ViewType.VIEW))));
+                  schemaFilter, SchemaFilterFactory.createViewTypeFilter(ViewType.VIEW)),
+              true));
     } catch (MetadataException e) {
       throw new RuntimeException(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..1cb7660687f 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
@@ -33,20 +33,16 @@ public class SchemaSourceFactory {
 
   private SchemaSourceFactory() {};
 
-  public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaSource(
-      PartialPath pathPattern) {
-    return new TimeSeriesSchemaSource(pathPattern, false, 0, 0, null, null);
-  }
-
-  public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaSource(
+  public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaCountSource(
       PartialPath pathPattern,
       boolean isPrefixMatch,
       SchemaFilter schemaFilter,
       Map<Integer, Template> templateMap) {
-    return new TimeSeriesSchemaSource(pathPattern, isPrefixMatch, 0, 0, schemaFilter, templateMap);
+    return new TimeSeriesSchemaSource(
+        pathPattern, isPrefixMatch, 0, 0, schemaFilter, templateMap, false);
   }
 
-  public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaSource(
+  public static ISchemaSource<ITimeSeriesSchemaInfo> getTimeSeriesSchemaScanSource(
       PartialPath pathPattern,
       boolean isPrefixMatch,
       long limit,
@@ -54,7 +50,7 @@ public class SchemaSourceFactory {
       SchemaFilter schemaFilter,
       Map<Integer, Template> templateMap) {
     return new TimeSeriesSchemaSource(
-        pathPattern, isPrefixMatch, limit, offset, schemaFilter, templateMap);
+        pathPattern, isPrefixMatch, limit, offset, schemaFilter, templateMap, true);
   }
 
   public static ISchemaSource<IDeviceSchemaInfo> getDeviceSchemaSource(
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..5622c9b12c3 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
@@ -44,13 +44,11 @@ public class TimeSeriesSchemaSource implements ISchemaSource<ITimeSeriesSchemaIn
 
   private final PartialPath pathPattern;
   private final boolean isPrefixMatch;
-
   private final long limit;
   private final long offset;
-
   private final SchemaFilter schemaFilter;
-
   private final Map<Integer, Template> templateMap;
+  private final boolean needViewDetail;
 
   TimeSeriesSchemaSource(
       PartialPath pathPattern,
@@ -58,16 +56,15 @@ public class TimeSeriesSchemaSource implements ISchemaSource<ITimeSeriesSchemaIn
       long limit,
       long offset,
       SchemaFilter schemaFilter,
-      Map<Integer, Template> templateMap) {
+      Map<Integer, Template> templateMap,
+      boolean needViewDetail) {
     this.pathPattern = pathPattern;
     this.isPrefixMatch = isPrefixMatch;
-
     this.limit = limit;
     this.offset = offset;
-
     this.schemaFilter = schemaFilter;
-
     this.templateMap = templateMap;
+    this.needViewDetail = needViewDetail;
   }
 
   @Override
@@ -75,7 +72,13 @@ public class TimeSeriesSchemaSource implements ISchemaSource<ITimeSeriesSchemaIn
     try {
       return schemaRegion.getTimeSeriesReader(
           SchemaRegionReadPlanFactory.getShowTimeSeriesPlan(
-              pathPattern, templateMap, limit, offset, isPrefixMatch, schemaFilter));
+              pathPattern,
+              templateMap,
+              limit,
+              offset,
+              isPrefixMatch,
+              schemaFilter,
+              needViewDetail));
     } catch (MetadataException e) {
       throw new RuntimeException(e.getMessage(), e);
     }
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 698da566a51..5e665096a82 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
@@ -554,7 +554,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP
     return new SchemaQueryScanOperator<>(
         node.getPlanNodeId(),
         operatorContext,
-        SchemaSourceFactory.getTimeSeriesSchemaSource(
+        SchemaSourceFactory.getTimeSeriesSchemaScanSource(
             node.getPath(),
             node.isPrefixPath(),
             node.getLimit(),
@@ -649,7 +649,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP
     return new SchemaCountOperator<>(
         node.getPlanNodeId(),
         operatorContext,
-        SchemaSourceFactory.getTimeSeriesSchemaSource(
+        SchemaSourceFactory.getTimeSeriesSchemaCountSource(
             node.getPath(), node.isPrefixPath(), node.getSchemaFilter(), node.getTemplateMap()));
   }
 
@@ -668,7 +668,7 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP
         node.getPlanNodeId(),
         operatorContext,
         node.getLevel(),
-        SchemaSourceFactory.getTimeSeriesSchemaSource(
+        SchemaSourceFactory.getTimeSeriesSchemaCountSource(
             node.getPath(), node.isPrefixPath(), node.getSchemaFilter(), node.getTemplateMap()));
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
index 66d6f235910..96f0b93e5fe 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeInternalRPCServiceImpl.java
@@ -775,7 +775,8 @@ public class DataNodeInternalRPCServiceImpl implements IDataNodeRPCService.Iface
                 }
                 for (PartialPath pattern : filteredPatternTree.getAllPathPatterns()) {
                   ISchemaSource<ITimeSeriesSchemaInfo> schemaSource =
-                      SchemaSourceFactory.getTimeSeriesSchemaSource(pattern);
+                      SchemaSourceFactory.getTimeSeriesSchemaCountSource(
+                          pattern, false, null, null);
                   try (ISchemaReader<ITimeSeriesSchemaInfo> schemaReader =
                       schemaSource.getSchemaReader(schemaRegion)) {
                     if (schemaReader.hasNext()) {
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionBasicTest.java
index 3ac448ae097..ba31ea492d8 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionBasicTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionBasicTest.java
@@ -814,7 +814,8 @@ public class SchemaRegionBasicTest extends AbstractSchemaRegionTest {
                 0,
                 0,
                 false,
-                SchemaFilterFactory.createPathContainsFilter("s")));
+                SchemaFilterFactory.createPathContainsFilter("s"),
+                false));
     expectedPathList =
         new HashSet<>(
             Arrays.asList(
@@ -841,7 +842,8 @@ public class SchemaRegionBasicTest extends AbstractSchemaRegionTest {
                 0,
                 0,
                 false,
-                SchemaFilterFactory.createPathContainsFilter("1")));
+                SchemaFilterFactory.createPathContainsFilter("1"),
+                false));
     expectedPathList =
         new HashSet<>(
             Arrays.asList(
@@ -867,7 +869,8 @@ public class SchemaRegionBasicTest extends AbstractSchemaRegionTest {
                 0,
                 0,
                 false,
-                SchemaFilterFactory.createPathContainsFilter("laptop.d")));
+                SchemaFilterFactory.createPathContainsFilter("laptop.d"),
+                false));
     expectedPathList =
         new HashSet<>(
             Arrays.asList(
@@ -895,7 +898,8 @@ public class SchemaRegionBasicTest extends AbstractSchemaRegionTest {
                 0,
                 0,
                 false,
-                SchemaFilterFactory.createDataTypeFilter(TSDataType.INT64)));
+                SchemaFilterFactory.createDataTypeFilter(TSDataType.INT64),
+                false));
     expectedPathList =
         new HashSet<>(
             Arrays.asList(
@@ -923,7 +927,8 @@ public class SchemaRegionBasicTest extends AbstractSchemaRegionTest {
                 0,
                 0,
                 false,
-                SchemaFilterFactory.createDataTypeFilter(TSDataType.BOOLEAN)));
+                SchemaFilterFactory.createDataTypeFilter(TSDataType.BOOLEAN),
+                false));
     expectedPathList = new HashSet<>(Collections.emptyList());
     expectedSize = expectedPathList.size();
     Assert.assertEquals(expectedSize, result.size());
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionTestUtil.java b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionTestUtil.java
index bae0ddbe4f4..49c3e190229 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionTestUtil.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionTestUtil.java
@@ -162,7 +162,7 @@ public class SchemaRegionTestUtil {
     try (ISchemaReader<ITimeSeriesSchemaInfo> timeSeriesReader =
         schemaRegion.getTimeSeriesReader(
             SchemaRegionReadPlanFactory.getShowTimeSeriesPlan(
-                pathPattern, templateMap, 0, 0, isPrefixMatch, null)); ) {
+                pathPattern, templateMap, 0, 0, isPrefixMatch, null, false))) {
       long count = 0;
       while (timeSeriesReader.hasNext()) {
         timeSeriesReader.next();
@@ -195,7 +195,7 @@ public class SchemaRegionTestUtil {
     try (ISchemaReader<ITimeSeriesSchemaInfo> timeSeriesReader =
         schemaRegion.getTimeSeriesReader(
             SchemaRegionReadPlanFactory.getShowTimeSeriesPlan(
-                pathPattern, null, 0, 0, isPrefixMatch, null)); ) {
+                pathPattern, null, 0, 0, isPrefixMatch, null, false))) {
       Map<PartialPath, Long> countMap = new HashMap<>();
       while (timeSeriesReader.hasNext()) {
         ITimeSeriesSchemaInfo timeSeriesSchemaInfo = timeSeriesReader.next();
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperatorTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperatorTest.java
index ea08d739655..a2cd7df670a 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperatorTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaQueryScanOperatorTest.java
@@ -195,7 +195,7 @@ public class SchemaQueryScanOperatorTest {
       operatorContext.setDriverContext(
           new SchemaDriverContext(fragmentInstanceContext, schemaRegion, 0));
       ISchemaSource<ITimeSeriesSchemaInfo> timeSeriesSchemaSource =
-          SchemaSourceFactory.getTimeSeriesSchemaSource(
+          SchemaSourceFactory.getTimeSeriesSchemaScanSource(
               partialPath, false, 10, 0, null, Collections.emptyMap());
       SchemaOperatorTestUtil.mockGetSchemaReader(
           timeSeriesSchemaSource, showTimeSeriesResults.iterator(), schemaRegion, true);