You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2023/05/24 02:14:17 UTC

[iotdb] branch beyyes/opitimize_query_terminator created (now 829c261b552)

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

caogaofei pushed a change to branch beyyes/opitimize_query_terminator
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at 829c261b552 avoid rpc invoking for SimpleQueryTerminator when endpoint is local address

This branch includes the following new commits:

     new d8aa3247ed9 Merge branch 'master' of github.com:apache/iotdb
     new 829c261b552 avoid rpc invoking for SimpleQueryTerminator when endpoint is local address

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 02/02: avoid rpc invoking for SimpleQueryTerminator when endpoint is local address

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/opitimize_query_terminator
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 829c261b5524c01e62f109f62858612ccc571e6a
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Wed May 24 10:13:56 2023 +0800

    avoid rpc invoking for SimpleQueryTerminator when endpoint is local address
---
 .../mpp/plan/scheduler/SimpleQueryTerminator.java  | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/SimpleQueryTerminator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/SimpleQueryTerminator.java
index 841abf4deae..be1712c6c6f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/SimpleQueryTerminator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/SimpleQueryTerminator.java
@@ -23,8 +23,11 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint;
 import org.apache.iotdb.commons.client.IClientManager;
 import org.apache.iotdb.commons.client.exception.ClientManagerException;
 import org.apache.iotdb.commons.client.sync.SyncDataNodeInternalServiceClient;
+import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.mpp.common.FragmentInstanceId;
 import org.apache.iotdb.db.mpp.common.MPPQueryContext;
 import org.apache.iotdb.db.mpp.common.QueryId;
+import org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceManager;
 import org.apache.iotdb.db.mpp.plan.planner.plan.FragmentInstance;
 import org.apache.iotdb.mpp.rpc.thrift.TCancelQueryReq;
 import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
@@ -101,6 +104,18 @@ public class SimpleQueryTerminator implements IQueryTerminator {
       if (unfinishedFIs.isEmpty()) {
         continue;
       }
+
+      String internalAddress = IoTDBDescriptor.getInstance().getConfig().getInternalAddress();
+      int internalPort = IoTDBDescriptor.getInstance().getConfig().getInternalPort();
+      if (internalAddress.equalsIgnoreCase(endPoint.getIp())
+          && internalPort == endPoint.getPort()) {
+        for (TFragmentInstanceId insId : unfinishedFIs) {
+          FragmentInstanceManager.getInstance()
+              .cancelTask(FragmentInstanceId.fromThrift(insId), false);
+        }
+        return true;
+      }
+
       try (SyncDataNodeInternalServiceClient client =
           internalServiceClientManager.borrowClient(endPoint)) {
         client.cancelQuery(new TCancelQueryReq(queryId.getId(), unfinishedFIs, false));
@@ -126,6 +141,18 @@ public class SimpleQueryTerminator implements IQueryTerminator {
       if (unfinishedFIs.isEmpty()) {
         continue;
       }
+
+      String internalAddress = IoTDBDescriptor.getInstance().getConfig().getInternalAddress();
+      int internalPort = IoTDBDescriptor.getInstance().getConfig().getInternalPort();
+      if (internalAddress.equalsIgnoreCase(endPoint.getIp())
+          && internalPort == endPoint.getPort()) {
+        for (TFragmentInstanceId insId : unfinishedFIs) {
+          FragmentInstanceManager.getInstance()
+              .cancelTask(FragmentInstanceId.fromThrift(insId), true);
+        }
+        return true;
+      }
+
       try (SyncDataNodeInternalServiceClient client =
           internalServiceClientManager.borrowClient(endPoint)) {
         client.cancelQuery(new TCancelQueryReq(queryId.getId(), unfinishedFIs, true));


[iotdb] 01/02: Merge branch 'master' of github.com:apache/iotdb

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/opitimize_query_terminator
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit d8aa3247ed9fdd324d2bd29fdb0336da45648337
Merge: 4f8a48a0d60 e46be0e9623
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Wed May 24 10:02:56 2023 +0800

    Merge branch 'master' of github.com:apache/iotdb

 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |   1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  43 ++-
 .../heartbeat/DataNodeHeartbeatHandler.java        |  33 ++-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  22 ++
 .../confignode/conf/ConfigNodeDescriptor.java      |  16 ++
 .../consensus/request/ConfigPhysicalPlan.java      |  12 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   5 +
 .../request/read/pipe/task/ShowPipePlanV2.java     |  25 +-
 .../pipe/runtime/PipeHandleLeaderChangePlan.java   |  74 +++++
 .../pipe/runtime/PipeHandleMetaChangePlan.java     |  67 +++++
 .../response/pipe/task/PipeTableResp.java          | 123 ++++++++
 .../statemachine/ConfigRegionStateMachine.java     |   7 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  34 +--
 .../apache/iotdb/confignode/manager/IManager.java  |   9 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  62 ++++
 .../iotdb/confignode/manager/load/LoadManager.java |   1 +
 .../manager/load/balancer/RegionBalancer.java      |   2 +-
 .../confignode/manager/load/cache/LoadCache.java   |  11 +-
 .../manager/load/cache/route/RegionRouteCache.java |   4 +
 .../manager/load/service/HeartbeatService.java     |  18 +-
 .../manager/load/service/StatisticsService.java    |   9 +-
 .../iotdb/confignode/manager/node/NodeManager.java |   5 +-
 .../manager/partition/PartitionManager.java        |  17 +-
 .../manager/partition/PartitionMetrics.java        |   2 +-
 .../iotdb/confignode/manager/pipe/PipeManager.java |  10 +
 .../pipe/{ => plugin}/PipePluginCoordinator.java   |   2 +-
 .../manager/pipe/runtime/PipeMetaSyncer.java       |  95 ++++++
 .../pipe/runtime/PipeRuntimeCoordinator.java       | 119 ++++++++
 .../pipe/{ => task}/PipeTaskCoordinator.java       |  37 ++-
 .../manager/{ => schema}/ClusterSchemaManager.java |  54 +++-
 .../schema/ClusterSchemaQuotaStatistics.java       |  28 +-
 .../persistence/executor/ConfigPlanExecutor.java   |  12 +
 .../partition/DatabasePartitionTable.java          |   6 +-
 .../persistence/partition/PartitionInfo.java       |  13 +
 .../persistence/pipe/PipePluginInfo.java           |  57 +++-
 .../confignode/persistence/pipe/PipeTaskInfo.java  | 138 +++++++--
 .../persistence/pipe/PipeTaskOperation.java        |   4 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   9 +-
 .../pipe/plugin/CreatePipePluginProcedure.java     |   2 +-
 .../impl/pipe/plugin/DropPipePluginProcedure.java  |   2 +-
 .../runtime/PipeHandleLeaderChangeProcedure.java   | 195 +++++++++++++
 .../runtime/PipeHandleMetaChangeProcedure.java     | 285 ++++++++++++++++++
 .../impl/pipe/runtime/PipeMetaSyncProcedure.java   | 126 ++++++++
 .../pipe/task/AbstractOperatePipeProcedureV2.java  |  37 ++-
 .../impl/pipe/task/CreatePipeProcedureV2.java      |  41 ++-
 .../impl/pipe/task/DropPipeProcedureV2.java        |  14 +-
 .../impl/pipe/task/StartPipeProcedureV2.java       |  14 +-
 .../impl/pipe/task/StopPipeProcedureV2.java        |  14 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |   8 +-
 .../procedure/store/ProcedureFactory.java          |  26 ++
 .../confignode/procedure/store/ProcedureType.java  |  13 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   7 -
 .../request/ConfigPhysicalPlanSerDeTest.java       |  60 ++++
 .../manager/ClusterSchemaManagerTest.java          |   2 +
 .../iotdb/confignode/persistence/PipeInfoTest.java |   1 -
 .../PipeHandleLeaderChangeProcedureTest.java       |  63 ++++
 .../runtime/PipeHandleMetaChangeProcedureTest.java |  96 +++++++
 .../pipe/runtime/PipeMetaSyncProcedureTest.java    |  55 ++++
 consensus/pom.xml                                  |   2 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |   2 +-
 .../consensus/iot/logdispatcher/LogDispatcher.java |   2 +-
 .../consensus/iot/logdispatcher/SyncStatus.java    |   8 +-
 .../consensus/iot/wal/ConsensusReqReader.java      |   3 +
 .../apache/iotdb/consensus/ratis/RatisClient.java  |  18 +-
 .../iot/logdispatcher/SyncStatusTest.java          |  10 +-
 .../consensus/iot/util/FakeConsensusReqReader.java |   5 +
 distribution/pom.xml                               |  14 +
 distribution/src/assembly/spark-connector.xml      |  48 ++++
 .../Ecosystem-Integration/Grafana-Plugin.md        |   8 +-
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md | 273 +++++++++---------
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |  51 +++-
 docs/UserGuide/Operate-Metadata/Node.md            |   4 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |  89 ++++--
 docs/UserGuide/QuickStart/QuickStart.md            |   2 +-
 docs/UserGuide/Reference/Common-Config-Manual.md   |  68 ++++-
 docs/UserGuide/Reference/Keywords.md               |   1 +
 docs/UserGuide/Reference/Status-Codes.md           |   2 +
 .../Ecosystem-Integration/Grafana-Plugin.md        |   6 +-
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md | 261 ++++++++---------
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |  66 +++--
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   4 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |  84 +++++-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |   3 +-
 .../zh/UserGuide/Reference/Common-Config-Manual.md |  66 ++++-
 docs/zh/UserGuide/Reference/Keywords.md            |   1 +
 docs/zh/UserGuide/Reference/Status-Codes.md        | 258 ++++++++---------
 integration-test/pom.xml                           |  18 ++
 .../iotdb/it/env/cluster/MppCommonConfig.java      |  12 +
 .../it/env/cluster/MppSharedCommonConfig.java      |  14 +
 .../iotdb/it/env/remote/RemoteCommonConfig.java    |  10 +
 .../org/apache/iotdb/it/utils/TsFileGenerator.java |  42 +++
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |   4 +
 .../it/IoTDBConfigNodeConsensusEfficiencyIT.java   |   2 +
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |  18 ++
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |  17 ++
 .../db/it/last/IoTDBLastQueryLastCacheIT.java      |  17 +-
 .../apache/iotdb/db/it/orderBy/IoTDBOrderByIT.java |  26 ++
 .../db/it/schema/IoTDBClusterDeviceQuotaIT.java    |  44 +++
 .../it/schema/IoTDBClusterMeasurementQuotaIT.java  | 126 ++++++++
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |  22 ++
 .../iotdb/db/it/schema/IoTDBExtendTemplateIT.java  |   9 +
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   | 103 ++++++-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  45 +++
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   3 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  10 +-
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  20 +-
 .../session/it/IoTDBSessionSchemaTemplateIT.java   | 107 +++++++
 .../org/apache/iotdb/spark/it/AbstractTest.java    |  55 ++++
 .../java/org/apache/iotdb/spark/it/ReadTest.java   | 145 ++++++++++
 .../test/java/org/apache/iotdb/spark/it/Utils.java |  96 +++++++
 .../java/org/apache/iotdb/spark/it/WriteTest.java  | 116 ++++++++
 .../resources/conf/iotdb-common.properties         |  47 ++-
 .../iotdb/commons/concurrent/ThreadName.java       |   1 +
 .../apache/iotdb/commons/conf/CommonConfig.java    |   6 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   8 -
 .../org/apache/iotdb/commons/path/AlignedPath.java |  15 +-
 .../apache/iotdb/commons/path/MeasurementPath.java |  31 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |  47 ++-
 .../apache/iotdb/commons/path/PathPatternNode.java |   2 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |  34 ++-
 .../apache/iotdb/commons/path/PathPatternUtil.java |  52 ++++
 .../iotdb/commons/path/fa/nfa/SimpleNFA.java       |   3 +-
 .../pipe/plugin/builtin/BuiltinPipePlugin.java     |   6 +-
 .../{DefaultCollector.java => IoTDBCollector.java} |   2 +-
 .../builtin/connector/DoNothingConnector.java      |   4 +-
 ...ingConnector.java => IoTDBThriftConnector.java} |  28 +-
 .../builtin/processor/DoNothingProcessor.java      |  11 +-
 .../iotdb/commons/pipe/task/meta/PipeMeta.java     |   9 +-
 .../commons/pipe/task/meta/PipeMetaKeeper.java     |   4 +
 .../commons/pipe/task/meta/PipeRuntimeMeta.java    |  27 +-
 .../commons/pipe/task/meta/PipeStaticMeta.java     |  88 ++++--
 .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java |  64 +++--
 .../commons/schema/ClusterSchemaQuotaLevel.java    |  15 +-
 .../iotdb/commons/schema/filter/SchemaFilter.java  |  75 +++++
 .../commons/schema/filter/SchemaFilterType.java    |  42 +--
 .../commons/schema/filter/SchemaFilterVisitor.java |  59 ++++
 .../commons/schema/filter/impl/DataTypeFilter.java |  65 +++++
 .../schema/filter/impl/PathContainsFilter.java     |  64 +++++
 .../commons/schema/filter/impl/TagFilter.java      |  83 ++++++
 .../commons/schema/view}/LogicalViewSchema.java    |  23 +-
 .../view/viewExpression/ViewExpression.java        |  56 ++--
 .../view/viewExpression/ViewExpressionType.java    |   2 +-
 .../binary/BinaryViewExpression.java               |   6 +-
 .../binary/arithmetic/AdditionViewExpression.java  |   8 +-
 .../arithmetic/ArithmeticBinaryViewExpression.java |   8 +-
 .../binary/arithmetic/DivisionViewExpression.java  |   8 +-
 .../binary/arithmetic/ModuloViewExpression.java    |   8 +-
 .../arithmetic/MultiplicationViewExpression.java   |   8 +-
 .../arithmetic/SubtractionViewExpression.java      |   8 +-
 .../compare/CompareBinaryViewExpression.java       |   8 +-
 .../binary/compare/EqualToViewExpression.java      |   8 +-
 .../binary/compare/GreaterEqualViewExpression.java |   8 +-
 .../binary/compare/GreaterThanViewExpression.java  |   8 +-
 .../binary/compare/LessEqualViewExpression.java    |   8 +-
 .../binary/compare/LessThanViewExpression.java     |   8 +-
 .../binary/compare/NonEqualViewExpression.java     |   8 +-
 .../binary/logic/LogicAndViewExpression.java       |   8 +-
 .../binary/logic/LogicBinaryViewExpression.java    |   8 +-
 .../binary/logic/LogicOrViewExpression.java        |   8 +-
 .../viewExpression/leaf/ConstantViewOperand.java   |   6 +-
 .../view/viewExpression/leaf/LeafViewOperand.java  |   4 +-
 .../view/viewExpression/leaf/NullViewOperand.java  |   6 +-
 .../viewExpression/leaf/TimeSeriesViewOperand.java |   6 +-
 .../viewExpression/leaf/TimestampViewOperand.java  |   6 +-
 .../multi/FunctionViewExpression.java              |   8 +-
 .../ternary/BetweenViewExpression.java             |   8 +-
 .../ternary/TernaryViewExpression.java             |   6 +-
 .../viewExpression/unary/InViewExpression.java     |   8 +-
 .../viewExpression/unary/IsNullViewExpression.java |   8 +-
 .../viewExpression/unary/LikeViewExpression.java   |   8 +-
 .../unary/LogicNotViewExpression.java              |   8 +-
 .../unary/NegationViewExpression.java              |   8 +-
 .../unary/RegularViewExpression.java               |   8 +-
 .../viewExpression/unary/UnaryViewExpression.java  |   6 +-
 .../visitor/ViewExpressionVisitor.java             |  70 ++---
 .../apache/iotdb/commons/service/ServiceType.java  |   1 +
 .../iotdb/commons/service/metric/enums/Metric.java |   5 +
 .../iotdb/commons/path/PathPatternTreeTest.java    |  61 +++-
 .../commons/pipe/task/meta/PipeMetaDeSerTest.java  |  77 +++++
 .../org/apache/iotdb/pipe/api/PipeCollector.java   |   1 +
 .../org/apache/iotdb/pipe/api/PipeConnector.java   |  14 +-
 .../org/apache/iotdb/pipe/api/PipeProcessor.java   |  10 +-
 .../iotdb/pipe/api/collector/EventCollector.java   |  39 +--
 .../org/apache/iotdb/pipe/api/event/Event.java     |   6 +-
 .../event/dml/insertion/TabletInsertionEvent.java  |   6 -
 .../event/dml/insertion/TsFileInsertionEvent.java  |   6 -
 pom.xml                                            |  35 +--
 .../schemaregion/rocksdb/RSchemaRegion.java        |  15 +-
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  15 +-
 .../tools/tsfile/print-iotdb-data-dir.bat          |   2 +-
 .../resources/tools/tsfile/print-iotdb-data-dir.sh |   2 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  17 --
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 109 ++++++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  65 ++++-
 .../org/apache/iotdb/db/conf/OperationType.java    |   3 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   9 +
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  41 +++
 .../iotdb/db/engine/cache/BloomFilterCache.java    |   2 +-
 .../db/engine/cache/CacheHitRatioMonitor.java      |   2 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |  10 +-
 .../compaction/constant/CompactionTaskStatus.java} |  11 +-
 .../compaction/constant/CompactionTaskType.java}   |  10 +-
 .../exception/CompactionExceptionHandler.java      |   2 +-
 .../execute/task/AbstractCompactionTask.java       |   1 -
 .../execute/task/CrossSpaceCompactionTask.java     |  39 +--
 .../execute/task/InnerSpaceCompactionTask.java     |   6 +-
 .../compaction/execute/utils/CompactionUtils.java  |  22 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |  16 +-
 .../compaction/schedule/CompactionScheduler.java   |  49 +++-
 .../compaction/schedule/CompactionTaskManager.java |  71 ++++-
 .../compaction/schedule/CompactionWorker.java      |   3 -
 .../impl/RewriteCrossSpaceCompactionSelector.java  |  26 +-
 .../impl/SizeTieredCompactionSelector.java         |   2 +-
 .../utils/CrossSpaceCompactionCandidate.java       |   6 +-
 .../memtable/AlignedWritableMemChunkGroup.java     |  10 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |  10 +-
 .../db/engine/settle/SettleRequestHandler.java     |   2 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   | 298 ++++---------------
 .../db/engine/storagegroup/TsFileManager.java      |   1 +
 .../db/engine/storagegroup/TsFileResource.java     |  38 ++-
 .../db/engine/storagegroup/TsFileResourceList.java |  62 ++--
 .../engine/storagegroup/TsFileResourceStatus.java  |   3 +-
 .../metadata/SchemaQuotaExceededException.java     |  37 +--
 .../db/exception/query/OutOfTTLException.java      |   4 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   4 +
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |  14 +-
 .../cache/DeviceUsingTemplateSchemaCache.java      |  50 +++-
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |  36 ++-
 .../db/metadata/cache/TimeSeriesSchemaCache.java   |   6 +-
 .../metadata/mnode/mem/impl/LogicalViewMNode.java  |   3 +-
 .../metadata/mnode/mem/info/LogicalViewInfo.java   |  12 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   8 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  33 ++-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  32 ++-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |   2 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   3 +-
 .../db/metadata/mtree/store/MemMTreeStore.java     |   4 +
 .../db/metadata/mtree/traverser/Traverser.java     |   7 +
 .../mtree/traverser/basic/EntityTraverser.java     |  31 +-
 .../traverser/basic/MeasurementTraverser.java      |  36 ++-
 .../impl/SchemaRegionPlanDeserializer.java         |  10 +-
 .../impl/SchemaRegionPlanSerializer.java           |  14 +-
 .../impl/SchemaRegionPlanTxtSerializer.java        |   2 +-
 .../impl/read/SchemaRegionReadPlanFactory.java     |  37 +--
 .../impl/read/ShowDevicesPlanImpl.java             |  15 +-
 .../impl/read/ShowTimeSeriesPlanImpl.java          |  37 +--
 .../impl/write/CreateLogicalViewPlanImpl.java      |   2 +-
 .../plan/schemaregion/read/IShowDevicesPlan.java   |   4 +
 .../schemaregion/read/IShowTimeSeriesPlan.java     |   7 +-
 .../schemaregion/result/ShowTimeSeriesResult.java  |   3 +-
 .../schemaregion/write/ICreateLogicalViewPlan.java |   2 +-
 .../rescon/DataNodeSchemaQuotaManager.java         |  92 ++++++
 .../db/metadata/schemaregion/ISchemaRegion.java    |  16 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |  92 ++++--
 .../schemaregion/SchemaRegionMemoryImpl.java       |  88 ++----
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  76 ++---
 .../apache/iotdb/db/metadata/tag/TagManager.java   |  16 +-
 .../metadata/template/ClusterTemplateManager.java  |   4 +-
 .../template/alter/TemplateExtendInfo.java         |  78 +++++
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   3 +-
 .../visitor/GetSourcePathsVisitor.java             |  13 +-
 .../visitor/TransformToExpressionVisitor.java      |  67 ++---
 .../metadata/visitor/SchemaExecutionVisitor.java   |   2 +-
 .../mpp/common/schematree/ClusterSchemaTree.java   |   6 +-
 .../db/mpp/common/schematree/DeviceSchemaInfo.java |  18 +-
 .../common/schematree/IMeasurementSchemaInfo.java  |   8 +-
 .../common/schematree/MeasurementSchemaInfo.java   |  22 +-
 .../schematree/node/SchemaMeasurementNode.java     |  42 ++-
 .../iotdb/db/mpp/execution/driver/Driver.java      |  15 +-
 .../execution/exchange/MPPDataExchangeManager.java |  13 +
 .../execution/executor/RegionWriteExecutor.java    | 124 +++++---
 .../fragment/FragmentInstanceManager.java          |   8 +
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  |  16 ++
 .../process/join/HorizontallyConcatOperator.java   |   8 +-
 .../operator/schema/source/DeviceSchemaSource.java |  13 +-
 .../schema/source/SchemaSourceFactory.java         |  27 +-
 .../schema/source/TimeSeriesSchemaSource.java      |  17 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |   8 +
 .../db/mpp/metric/DataExchangeCountMetricSet.java  |  25 ++
 .../db/mpp/metric/DriverSchedulerMetricSet.java    |  18 ++
 .../mpp/metric/QueryRelatedResourceMetricSet.java  | 162 +++++++++++
 .../mpp/metric/TimeSeriesMetadataCacheMetrics.java |   4 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |   6 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  16 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 103 +++++--
 .../analyze/schema/AutoCreateSchemaExecutor.java   |  10 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |   7 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |  50 +++-
 .../mpp/plan/analyze/schema/SchemaValidator.java   |  27 +-
 .../db/mpp/plan/execution/IQueryExecution.java     |   1 +
 .../db/mpp/plan/execution/QueryExecution.java      |  13 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  26 +-
 .../visitor/TransformToViewExpressionVisitor.java  |  52 ++--
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       | 107 ++++---
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |   4 +
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  47 ++-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  87 +++---
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  21 +-
 .../plan/node/load/LoadSingleTsFileNode.java       |   4 +
 .../node/metedata/read/DevicesSchemaScanNode.java  |  23 +-
 .../metedata/read/LevelTimeSeriesCountNode.java    |  47 +--
 .../node/metedata/read/TimeSeriesCountNode.java    |  43 +--
 .../metedata/read/TimeSeriesSchemaScanNode.java    |  95 ++----
 .../node/metedata/write/CreateLogicalViewNode.java |   2 +-
 .../write/InternalCreateMultiTimeSeriesNode.java   |   1 +
 .../planner/plan/node/write/BatchInsertNode.java   |  33 ---
 .../plan/node/write/InsertMultiTabletsNode.java    |  22 +-
 .../plan/planner/plan/node/write/InsertNode.java   | 131 +--------
 .../planner/plan/node/write/InsertRowNode.java     | 171 ++---------
 .../planner/plan/node/write/InsertRowsNode.java    |  33 +--
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |  32 +--
 .../planner/plan/node/write/InsertTabletNode.java  | 145 ++--------
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   5 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   8 +-
 .../plan/statement/crud/InsertBaseStatement.java   | 157 +++++++++-
 .../crud/InsertMultiTabletsStatement.java          |  30 ++
 .../plan/statement/crud/InsertRowStatement.java    | 183 +++++++++++-
 .../crud/InsertRowsOfOneDeviceStatement.java       |  42 +++
 .../plan/statement/crud/InsertRowsStatement.java   |  41 +++
 .../plan/statement/crud/InsertTabletStatement.java | 155 +++++++++-
 .../db/mpp/plan/statement/crud/QueryStatement.java |  55 ++--
 .../metadata/CountLevelTimeSeriesStatement.java    |  30 +-
 .../metadata/CountTimeSeriesStatement.java         |  30 +-
 .../statement/metadata/ShowDevicesStatement.java   |  10 +
 .../metadata/ShowTimeSeriesStatement.java          |  30 +-
 .../org/apache/iotdb/db/pipe/agent/PipeAgent.java  |  12 +
 .../db/pipe/agent/plugin/PipePluginAgent.java      |   2 +-
 .../IoTDBThriftReceiver.java}                      |  24 +-
 .../db/pipe/agent/receiver/PipeReceiverAgent.java  |  90 ++++++
 .../db/pipe/agent/runtime/MetaSyncScheduler.java   |  22 --
 .../iotdb/db/pipe/agent/runtime/PipeLauncher.java  | 175 +++++++++++
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |  47 ++-
 .../iotdb/db/pipe/agent/task/PipeTaskAgent.java    | 273 +++++++++++++++++-
 .../db/pipe/config/PipeCollectorConstant.java      |   5 +-
 .../apache/iotdb/db/pipe/config/PipeConfig.java    |  22 ++
 .../db/pipe/config/PipeConnectorConstant.java      |   3 +
 .../core/collector/IoTDBDataRegionCollector.java   |  39 ++-
 .../PipeHistoricalDataRegionTsFileCollector.java   |  13 +-
 .../realtime/PipeRealtimeDataRegionCollector.java  |   6 +-
 .../PipeRealtimeDataRegionHybridCollector.java     |  78 +++--
 .../realtime/assigner/PipeDataRegionAssigner.java  |  19 +-
 .../listener/PipeInsertionDataNodeListener.java    |   4 +-
 .../matcher/CachedSchemaPatternMatcher.java        |   6 +-
 .../realtime/matcher/PipeDataRegionMatcher.java    |   9 +-
 .../impl/iotdb/IoTDBThriftConnectorClient.java     |  70 +++++
 .../impl/iotdb/IoTDBThriftConnectorVersion.java}   |  16 +-
 .../impl/iotdb/v1/IoTDBThriftConnectorV1.java      | 231 +++++++++++++++
 .../impl/iotdb/v1/IoTDBThriftReceiverV1.java       | 275 ++++++++++++++++++
 .../connector/impl/iotdb/v1/PipeRequestType.java}  |  38 ++-
 .../v1/reponse/PipeTransferFilePieceResp.java      |  80 ++++++
 .../iotdb/v1/request/PipeTransferFilePieceReq.java |  88 ++++++
 .../iotdb/v1/request/PipeTransferFileSealReq.java  |  79 +++++
 .../iotdb/v1/request/PipeTransferHandshakeReq.java |  71 +++++
 .../v1/request/PipeTransferInsertNodeReq.java      | 102 +++++++
 .../PipeConnectorSubtaskLifeCycle.java             |   2 +-
 .../{ => manager}/PipeConnectorSubtaskManager.java |  37 ++-
 .../iotdb/db/pipe/core/event/EnrichedEvent.java    |  54 ++++
 .../core/event/impl/PipeTabletInsertionEvent.java  |  31 +-
 .../core/event/impl/PipeTsFileInsertionEvent.java  |  85 +++++-
 .../event/realtime/PipeRealtimeCollectEvent.java   |  20 +-
 .../realtime/PipeRealtimeCollectEventFactory.java  |   8 +-
 .../event/view/collector/PipeEventCollector.java   |  22 +-
 .../execution/executor/PipeSubtaskExecutor.java    |  41 +--
 .../execution/scheduler/PipeSubtaskScheduler.java  |  89 ++++++
 .../execution/scheduler/PipeTaskScheduler.java     |  74 -----
 .../db/pipe/resource/PipeFileResourceManager.java  | 186 ++++++++++++
 .../iotdb/db/pipe/resource/PipeRaftlogHolder.java  |  22 --
 .../db/pipe/resource/PipeResourceManager.java      |  16 +-
 .../iotdb/db/pipe/resource/PipeWALHolder.java      |  22 --
 .../org/apache/iotdb/db/pipe/task/PipeBuilder.java |   8 +-
 .../apache/iotdb/db/pipe/task/PipeTaskBuilder.java |   2 +-
 .../db/pipe/task/stage/PipeTaskCollectorStage.java |  50 +++-
 .../db/pipe/task/stage/PipeTaskConnectorStage.java |  11 +-
 .../db/pipe/task/stage/PipeTaskProcessorStage.java |  59 ++--
 .../db/pipe/task/subtask/PipeConnectorSubtask.java |  34 ++-
 .../db/pipe/task/subtask/PipeProcessorSubtask.java |  31 +-
 .../iotdb/db/pipe/task/subtask/PipeSubtask.java    |  62 +++-
 .../java/org/apache/iotdb/db/service/DataNode.java | 102 +------
 .../db/service/metrics/DataNodeMetricsHelper.java  |   2 +
 .../metrics/recorder/CompactionMetricsManager.java |  81 +++---
 .../db/service/thrift/ProcessorWithMetrics.java    |   6 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  | 209 +++++++++-----
 .../impl/DataNodeInternalRPCServiceImpl.java       |  27 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |  11 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |  45 ++-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   4 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   2 +-
 .../org/apache/iotdb/db/tools/TsFileSplitTool.java |   2 +-
 .../db/tools/settle/TsFileAndModSettleTool.java    |   6 +-
 .../db/tools/validate/TsFileValidationTool.java    |  16 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   2 +-
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |   2 +-
 .../db/utils/datastructure/AlignedTVList.java      |   6 +-
 .../datastructure/FixedPriorityBlockingQueue.java  |  10 +
 .../iotdb/db/wal/buffer/AbstractWALBuffer.java     |  26 +-
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |  32 ++-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   4 +-
 .../iotdb/db/wal/checkpoint/CheckpointManager.java | 118 +++++---
 .../iotdb/db/wal/checkpoint/MemTableInfo.java      |  28 +-
 .../exception/MemTablePinException.java}           |  16 +-
 .../exception/WALPipeException.java}               |  16 +-
 .../apache/iotdb/db/wal/io/WALByteBufReader.java   |   6 +-
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |  24 +-
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |  57 +++-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   4 -
 .../iotdb/db/wal/utils/WALEntryPosition.java       | 157 ++++++++++
 .../apache/iotdb/db/wal/utils/WALFileUtils.java    |  11 +
 .../iotdb/db/wal/utils/WALInsertNodeCache.java     | 170 +++++++++++
 .../apache/iotdb/db/wal/utils/WALPipeHandler.java  | 132 +++++++++
 .../db/wal/utils/listener/WALFlushListener.java    |  13 +-
 .../iotdb/db/engine/cache/ChunkCacheTest.java      |   4 +-
 .../engine/compaction/AbstractCompactionTest.java  |  62 ++--
 .../FastCrossCompactionPerformerTest.java          |   5 +
 .../db/engine/compaction/MemoryControlTest.java    |  75 +++++
 .../ReadPointCompactionPerformerTest.java          |  16 +-
 .../cross/CrossSpaceCompactionExceptionTest.java   |   7 +-
 .../cross/CrossSpaceCompactionSelectorTest.java    | 171 +++++++++++
 .../CrossSpaceCompactionWithFastPerformerTest.java |   6 +-
 ...eCompactionWithFastPerformerValidationTest.java |  20 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |   6 +-
 .../db/engine/compaction/cross/MergeTest.java      |   6 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |  46 +--
 .../RewriteCrossSpaceCompactionRecoverTest.java    |  10 +-
 ...eCrossSpaceCompactionWithFastPerformerTest.java |  21 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |  21 +-
 .../inner/AbstractInnerSpaceCompactionTest.java    |   4 +-
 .../inner/InnerCompactionMoreDataTest.java         |   2 +-
 .../compaction/inner/InnerCompactionTest.java      |   4 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |  76 +++++
 .../SizeTieredCompactionRecoverTest.java           |  52 ++--
 .../SizeTieredCompactionSelectorTest.java          |  38 +++
 .../inner/sizetiered/SizeTieredCompactionTest.java |  10 +-
 .../compaction/utils/CompactionCheckerUtils.java   |   4 +
 .../utils/MultiTsFileDeviceIteratorTest.java       |  26 +-
 .../db/engine/snapshot/IoTDBSnapshotTest.java      |   2 +-
 .../db/engine/storagegroup/DataRegionTest.java     |  16 +-
 .../engine/storagegroup/FakedTsFileResource.java   |   2 +-
 .../storagegroup/TsFileResourceListTest.java       | 110 +++++++
 .../db/engine/storagegroup/TsFileResourceTest.java |   2 +-
 .../schemaRegion/SchemaRegionBasicTest.java        | 167 ++++++++++-
 .../schemaRegion/SchemaRegionTestUtil.java         |   4 +-
 .../metadata/view/ViewExpressionToStringTest.java  |  16 +-
 .../execution/operator/AlignedSeriesTestUtil.java  |   6 +-
 .../mpp/execution/operator/OperatorMemoryTest.java |  34 +++
 .../schema/SchemaFetchScanOperatorTest.java        |   3 +-
 .../schema/SchemaQueryScanOperatorTest.java        |   4 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   7 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java | 120 +++++++-
 .../distribution/DistributionPlannerBasicTest.java |  10 +-
 .../read/DeviceSchemaScanNodeSerdeTest.java        |   3 +-
 .../metadata/read/SchemaCountNodeSerdeTest.java    |   8 +-
 .../read/TimeSeriesSchemaScanNodeSerdeTest.java    |   3 +-
 .../collector/CachedSchemaPatternMatcherTest.java  |  12 +-
 .../core/collector/PipeRealtimeCollectTest.java    |  73 +++--
 .../pipe/core/connector/PipeThriftRequestTest.java | 118 ++++++++
 .../pipe/resource/PipeFileResourceManagerTest.java | 218 ++++++++++++++
 .../AlignedSeriesScanLimitOffsetPushDownTest.java  |  10 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |   6 +-
 .../series/SeriesScanLimitOffsetPushDownTest.java  |   8 +-
 .../iotdb/db/rescon/ResourceManagerTest.java       |  12 +-
 .../db/utils/datastructure/VectorTVListTest.java   |  11 +
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |  25 +-
 .../iotdb/db/wal/node/ConsensusReqReaderTest.java  |  27 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |  33 +--
 .../iotdb/db/wal/node/WALPipeHandlerTest.java      | 256 +++++++++++++++++
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |  32 ++-
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   5 +-
 .../iotdb/db/wal/utils/WALInsertNodeCacheTest.java | 167 +++++++++++
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |  11 +-
 .../java/org/apache/iotdb/session/Session.java     |   4 +
 .../org/apache/iotdb/session/pool/SessionPool.java | 319 ++++++++++++++++++++-
 spark-iotdb-connector/pom.xml                      |  84 +-----
 spark-iotdb-connector/{ => scala_2.11}/pom.xml     | 108 +++----
 spark-iotdb-connector/{ => scala_2.12}/pom.xml     | 103 +++----
 .../src/test/resources/iotdb-datanode.properties   |  23 --
 .../apache/iotdb/spark/db/EnvironmentUtils.java    | 263 -----------------
 .../org/apache/iotdb/spark/db/IoTDBTest.scala      | 150 ----------
 .../org/apache/iotdb/spark/db/IoTDBWriteTest.scala | 118 --------
 .../iotdb/spark/db/unit/DataFrameToolsTest.scala   |  96 -------
 spark-tsfile/pom.xml                               |  50 +---
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  | 118 ++++----
 .../src/main/thrift/confignode.thrift              |  14 +-
 thrift/src/main/thrift/client.thrift               |  13 +
 thrift/src/main/thrift/datanode.thrift             |  20 +-
 .../java/org/apache/iotdb/tsfile/utils/Binary.java |  20 +-
 .../tsfile/write/schema/IMeasurementSchema.java    |   4 +
 .../tsfile/write/schema/MeasurementSchema.java     |  10 +
 .../tsfile/write/schema/MeasurementSchemaType.java |  19 +-
 .../write/schema/VectorMeasurementSchema.java      |  10 +
 489 files changed, 13912 insertions(+), 4979 deletions(-)