You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2023/05/22 01:49:05 UTC

[iotdb] branch ISSUE_5792 updated (b9d3032a87b -> d79ba919649)

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

jiangtian pushed a change to branch ISSUE_5792
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from b9d3032a87b fix review
     add aaf7fa2804f [IOTDB-5811] Pipe: PipeHistoricalCollector (#9700)
     add 6118e6cec6b [IOTDB-5837] Fix exception in select-into of ALIGN BY DEVICE query
     add b5d13d1876b Delete abandoned API in document (#9773)
     add 109b15434c3 Use two params to distinguish fsync delay in the wal sync mode and async mode (#9707)
     add 6160095863c [IOTDB-5841] Modify IoTConsensus default parameters to improve performance in more scenarios (#9771)
     add e39060e1d1b update ratis version to 2.5.1 (#9785)
     add 299f33c80ca [IOTDB-5821] Pipe: PipeCollector Stage (#9789)
     add db8849fce19 [IOTDB-5740] Fix drop database does not delete its template (#9792)
     add f579e3ca0d6 Support Create and Query Schema of Logical View (#9742)
     add 3b44a55bb20 [Doc] Fix error path of Dockerfile (#9725)
     add 16011faf943 [To rel/1.1] [IOTDB-5844] Fix compaction module getting stuck (#9776) (#9790)
     add dde59e204e4 Refactor SchemaIT for Acceleration (#9794)
     add 5c20ee49d39 [IOTDB-5831] Fix create region failure after recreate db (#9800)
     add f3e7ce22864 [IOTDB-5818][Atmos][Compaction]Cross_space compaction of Aligned timeseries is stucked (#9795)
     add c84a66e669f [IOTDB-5827] Fix the description for dn_multi_dir_strategy in iotdb-datanode.properties and update corresponding user manual (#9804)
     add 15a3adc2eb2 [IOTDB-5848] Pipe: task construction and life cycle management (#9808)
     add a52beb4e996 [IOTDB-5851] Fix Npe with limit clause
     add 7533fe5bec6 Fix a bug: crash while restarting caused by logical view (#9815)
     add 52eb858616e Follower doesn't need to update last cache when using IoT_consensus (#9811)
     add 8346ab743e6 Support FIFO policy for DataNodeSchemaCache Eviction (#9809)
     add 921faa061be [IOTDB-5858] Remove useless class cast and update schema cache hit
     add 115fc115f94  [IOTDB-5843] Stall write requests when system shutting down (#9819)
     add a99aeff5410 [IOTDB-5863]add configNode configuration information print (#9807)
     add b938948bc71 Fix only update last cache on follower (#9827)
     add f8a41d74c2b Refactor compaction task metrics (#9816)
     add b48bc0a4858 [IOTDB-5858] fix the clear of metric in datanode schema cache
     add d77c3994208 [IOTDB-5719] Cluster-Wide Time Series Limit Control (#9820)
     add 1c2251394bf Use interface for MeasurementSchema and Move viewExpression to node commons (#9826)
     add 467024bca30 [IOTDB-5865] Fix route balancing not trigger bug (#9793)
     add 568aabe942e [IOTDB-5854] Pipe: Tsfile Resource Manager (#9805)
     add 52324d4ec41 [IOTDB-5845] Pipe: Support handling leader change in PipeRuntimeCoordinator  (#9777)
     add 34fb7f532f6 [IOTDB-5799] Pipe: Support `SHOW PIPES` clause (#9838)
     add 888fe13f13d build device timeIndex when validating files after compaction (#9831)
     add af2d050b54b [IOTDB-5870] Pipe: Event reference management (#9836)
     add 10d4eba1943 [IOTDB-5846] Optimize the memory estimate for HorizontallyConcatOperator (#9781)
     add 0940f2a765f bump ratis version to 2.5.2-snapshot (#9839)
     add e8f4897d741 [IOTDB-5872] Reduce some IoTConsensus index logs (#9844)
     add 803c87fcdb0 [IOTDB-5873] Pipe: Support `CREATE`, `DROP`, `START`, `STOP` & `SHOW` Clauses (#9849)
     add 1b1b95172f0 [IOTDB-5852] Add some IoTConsensus and RatisConsensus properties (#9797)
     add c9fe5c44637 [IOTDB-5823] wal pipe handler for the pipe module (#9708)
     add a2bacfcb077 [IOTDB-5877] Fix StringIndexOutOfBoundsException when invoking Session.createTimeseriesUsingSchemaTemplate with list contains null (#9853)
     add 152c10bf67f [IOTDB-5882] Support create empty schema template (#9858)
     add dd86d1aca25 fix only loading one data directory when start iotdb (#9791)
     add 4f5bca4215a Update status code and document about SCHEMA_QUOTA_EXCEEDED (#9867)
     add c9db11cca07 [IOTDB-5881] Support path contains filter in show timeseries and show devices (#9857)
     add e2aa814482b [IOTDB-5884] Throw Exception when alter template with duplicate measurement (#9864)
     add a70d3c827e5 [IOTDB-5862] optimize thrift metrics precision
     add ab43262e397 [IOTDB-5885] Add exception when measurement already exists in schema template (#9866)
     add 54a3ca765ad add a note to clarify that connecting to iotdb requires changing the RPC address (#9868)
     add 1e6475dac17 [IOTDB-5888] Fix some logs didn't consider timestamp precision (#9870)
     add da53260b3ea [IOTDB-5892] Support keyword VIEW as identifiers (#9875)
     add b4002f3f7d8 [IOTDB-5881] Schema query supports case-insensitive path contains filter (#9877)
     add e66c4e502be Support schema cache when querying all measurement of devices using template (#9871)
     add 8111c1fd183 [To rel/1.1][IOTDB-5880] Catch Throwable in SessionPool  (#9856) (#9873)
     add 1cd0caf3dea [IOTDB-5871]Prevent large seq files from participating cross space compaction (#9842)
     add 188be935abd fix not releasing read lock when fail to allocate memory for compaction task (#9872) (#9880)
     add ef10a20a3e5 Support logic view - move schema validation to analyze phase (#9767)
     add 6a08bfb6761 fix compilation problem (#9883)
     add 48a6817f5b7 [IOTDB-5896] Fix delete aligned TEXT data in TVList NPE (#9884)
     add ff78cbd42d0 [IOTDB-5845] Failed to register PipeRuntimeCoordinator to loadPublisher in LoadManager (#9882)
     add 58967134baa [IOTDB-5897] Fix NullPointerException in compaction (#9888)
     add 804fe050a07 [IOTDB-5899] Fix unexpected TemplateNotExistException when deactivating template (#9889)
     add f96f3a52322 Schema query supports filtered by DataType  (#9891)
     add eb0a4460863 Change cost time unit from milli to nano & merge operator metric together in one driver
     add 738a1389842 [IOTDB-5847] Pipe: IoTDB Thrift Connector and PipeReceiverAgent (#9829)
     add d1f2897bdfe [IoTDB-5861] Use Compartor<Binary> instead of Comparator<String> in last query sort (#9865)
     add b905b4a831c [IOTDB-5898] Pipe: pipe meta sync schedular (#9887)
     add e07248bcc6f [IOTDB-5772] spark-iotdb-connnector: support scala 2.11 & 2.12 and resolve the Thrift version conflict with Spark's (#9788)
     add 6f3f4e0d92f [IOTDB-5893] Pipe: PipeLauncher for data node setup process (#9879)
     add 48fff510224 [IOTDB-5890] [IOTDB-5891] Fix messages problem in order by
     add 67d70cea85f [IOTDB-5887] Optimize the construction performance of PathPatternTree without wildcards
     add 61ee2a35bd9 [IOTDB-5869][IOTDB-5721][IOTDB-5901] Load strategy: load all files to unsequence dir (#9900)
     add 7c9299f7b37 IOTDB-5848] Allow ratis-client retry when gRPC IO Unavailable (#9898)
     add b833e3b66d1 [IOTDB-5895][IOTDB-5904] Pipe: handling DataNode removal (#9881)
     add d79ba919649 Merge branch 'master' into ISSUE_5792

No new revisions were added by this update.

Summary of changes:
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |   1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  65 +++-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   4 +
 client-py/tests/test_dataframe.py                  |   2 +
 .../heartbeat/DataNodeHeartbeatHandler.java        |  25 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  49 +++
 .../confignode/conf/ConfigNodeDescriptor.java      |  16 +
 .../consensus/request/ConfigPhysicalPlan.java      |   8 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   4 +
 .../request/read/pipe/task/ShowPipePlanV2.java     |  23 +-
 .../coordinator/PipeHandleLeaderChangePlan.java    |  74 ++++
 .../response/pipe/task/PipeTableResp.java          | 123 +++++++
 .../statemachine/ConfigRegionStateMachine.java     |   3 +
 .../iotdb/confignode/manager/ConfigManager.java    |  32 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   9 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  40 +++
 .../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     |   4 +-
 .../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       |  80 +++++
 .../pipe/runtime/PipeRuntimeCoordinator.java       |  98 ++++++
 .../pipe/{ => task}/PipeTaskCoordinator.java       |  37 +-
 .../manager/{ => schema}/ClusterSchemaManager.java |  67 +++-
 .../schema/ClusterSchemaQuotaStatistics.java       |  28 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   7 +
 .../partition/DatabasePartitionTable.java          |   6 +-
 .../persistence/partition/PartitionInfo.java       |  13 +
 .../persistence/pipe/PipePluginInfo.java           |  57 ++-
 .../confignode/persistence/pipe/PipeTaskInfo.java  | 127 +++++--
 .../persistence/pipe/PipeTaskOperation.java        |   2 +
 .../procedure/env/ConfigNodeProcedureEnv.java      |   9 +-
 .../pipe/plugin/CreatePipePluginProcedure.java     |   2 +-
 .../impl/pipe/plugin/DropPipePluginProcedure.java  |   2 +-
 .../runtime/PipeHandleLeaderChangeProcedure.java   | 195 ++++++++++
 .../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          |  20 ++
 .../confignode/procedure/store/ProcedureType.java  |  12 +-
 .../iotdb/confignode/service/ConfigNode.java       |   6 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   7 -
 .../request/ConfigPhysicalPlanSerDeTest.java       |  18 +
 .../manager/ClusterSchemaManagerTest.java          |   2 +
 .../PipeHandleLeaderChangeProcedureTest.java       |  63 ++++
 .../pipe/runtime/PipeMetaSyncProcedureTest.java    |  55 +++
 consensus/pom.xml                                  |   2 +-
 .../iotdb/consensus/config/IoTConsensusConfig.java |  36 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |   2 +-
 .../consensus/iot/logdispatcher/LogDispatcher.java |  10 +-
 .../logdispatcher/LogDispatcherThreadMetrics.java  |  22 ++
 .../consensus/iot/logdispatcher/SyncStatus.java    |  10 +-
 .../consensus/iot/wal/ConsensusReqReader.java      |   3 +
 .../ratis/ApplicationStateMachineProxy.java        |  10 +-
 .../apache/iotdb/consensus/ratis/RatisClient.java  |  18 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   3 +-
 .../apache/iotdb/consensus/ratis/utils/Utils.java  |  17 +
 .../iot/logdispatcher/SyncStatusTest.java          |  10 +-
 .../consensus/iot/util/FakeConsensusReqReader.java |   5 +
 distribution/pom.xml                               |  14 +
 distribution/src/assembly/spark-connector.xml      |  48 +++
 docs/UserGuide/API/Programming-Java-Native-API.md  |  98 ------
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md | 273 +++++++-------
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |   8 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   4 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |  89 ++++-
 docs/UserGuide/QuickStart/QuickStart.md            |   2 +-
 docs/UserGuide/QuickStart/WayToGetIoTDB.md         |   2 +-
 docs/UserGuide/Reference/Common-Config-Manual.md   |  97 ++++-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   6 +-
 docs/UserGuide/Reference/Keywords.md               |   1 +
 docs/UserGuide/Reference/Status-Codes.md           |   2 +
 .../UserGuide/API/Programming-Java-Native-API.md   |  93 -----
 .../UserGuide/Ecosystem-Integration/Spark-IoTDB.md | 261 +++++++-------
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |  24 +-
 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 |  95 ++++-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   6 +-
 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 +
 .../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 ++
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   2 +
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |  17 +-
 .../db/it/schema/IoTDBClusterDeviceQuotaIT.java    |  44 +++
 .../it/schema/IoTDBClusterMeasurementQuotaIT.java  | 126 +++++++
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |  17 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |  18 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |  17 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |  48 ++-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |  18 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |  17 +-
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |  18 +-
 .../iotdb/db/it/schema/IoTDBExtendTemplateIT.java  |  58 +--
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   | 166 +++++++--
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  94 +++--
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |  23 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  27 +-
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  37 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |  30 ++
 .../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 ++++++
 .../org/apache/iotdb/util/AbstractSchemaIT.java    |  48 ++-
 .../iotdb/zeppelin/it/IoTDBInterpreterIT.java      |  14 +-
 .../metrics/metricsets/jvm/JvmMemoryMetrics.java   |   6 +-
 .../resources/conf/iotdb-common.properties         |  66 +++-
 .../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 |  51 ++-
 .../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     |  10 +-
 .../plugin/builtin/collector/IoTDBCollector.java   |  60 ++++
 .../builtin/connector/IoTDBThriftConnector.java    |  78 ++++
 .../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     |  92 +++--
 .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java |  59 +++-
 .../commons/schema/ClusterSchemaQuotaLevel.java    |  19 +-
 .../iotdb/commons/schema/filter/SchemaFilter.java  |  75 ++++
 .../commons/schema/filter/SchemaFilterType.java    |  41 ++-
 .../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 +++++
 .../node/common/AbstractMeasurementMNode.java      |   4 +
 .../schema/node/role/IMeasurementMNode.java        |   2 +
 .../commons/schema/node/utils/IMNodeFactory.java   |   4 +
 .../commons/schema/view/LogicalViewSchema.java     | 224 ++++++++++++
 .../schema/view/viewExpression/ViewExpression.java | 318 +++++++++++++++++
 .../view/viewExpression/ViewExpressionType.java    |  76 ++++
 .../binary/BinaryViewExpression.java               | 119 +++++++
 .../binary/arithmetic/AdditionViewExpression.java  |  61 ++++
 .../arithmetic/ArithmeticBinaryViewExpression.java |  52 +++
 .../binary/arithmetic/DivisionViewExpression.java  |  61 ++++
 .../binary/arithmetic/ModuloViewExpression.java    |  61 ++++
 .../arithmetic/MultiplicationViewExpression.java   |  63 ++++
 .../arithmetic/SubtractionViewExpression.java      |  61 ++++
 .../compare/CompareBinaryViewExpression.java       |  52 +++
 .../binary/compare/EqualToViewExpression.java      |  57 +++
 .../binary/compare/GreaterEqualViewExpression.java |  57 +++
 .../binary/compare/GreaterThanViewExpression.java  |  57 +++
 .../binary/compare/LessEqualViewExpression.java    |  57 +++
 .../binary/compare/LessThanViewExpression.java     |  57 +++
 .../binary/compare/NonEqualViewExpression.java     |  57 +++
 .../binary/logic/LogicAndViewExpression.java       |  57 +++
 .../binary/logic/LogicBinaryViewExpression.java    |  52 +++
 .../binary/logic/LogicOrViewExpression.java        |  57 +++
 .../viewExpression/leaf/ConstantViewOperand.java   |  98 ++++++
 .../view/viewExpression/leaf/LeafViewOperand.java  |  20 +-
 .../view/viewExpression/leaf/NullViewOperand.java  |  61 ++++
 .../viewExpression/leaf/TimeSeriesViewOperand.java |  87 +++++
 .../viewExpression/leaf/TimestampViewOperand.java  |  72 ++++
 .../multi/FunctionViewExpression.java              | 198 +++++++++++
 .../ternary/BetweenViewExpression.java             | 111 ++++++
 .../ternary/TernaryViewExpression.java             | 105 ++++++
 .../viewExpression/unary/InViewExpression.java     | 106 ++++++
 .../viewExpression/unary/IsNullViewExpression.java |  89 +++++
 .../viewExpression/unary/LikeViewExpression.java   | 163 +++++++++
 .../unary/LogicNotViewExpression.java              |  61 ++++
 .../unary/NegationViewExpression.java              |  61 ++++
 .../unary/RegularViewExpression.java               | 105 ++++++
 .../viewExpression/unary/UnaryViewExpression.java  |  73 ++++
 .../visitor/ViewExpressionVisitor.java             | 219 ++++++++++++
 .../apache/iotdb/commons/service/ServiceType.java  |   1 +
 .../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   |   4 +
 .../api/exception/PipeConnectionException.java     |  15 +-
 pom.xml                                            |  35 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  22 +-
 .../rocksdb/mnode/RMeasurementMNode.java           |   5 +
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  22 +-
 .../resources/conf/iotdb-datanode.properties       |   2 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  17 -
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 160 +++++++--
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  95 ++++-
 .../org/apache/iotdb/db/conf/OperationType.java    |   3 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   9 +
 .../statemachine/DataRegionStateMachine.java       |   3 +-
 .../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   |  13 +-
 .../compaction/constant/CompactionTaskStatus.java} |   9 +-
 .../compaction/constant/CompactionTaskType.java}   |  10 +-
 .../exception/CompactionExceptionHandler.java      |   2 +-
 .../CompactionMemoryNotEnoughException.java}       |   9 +-
 .../execute/task/AbstractCompactionTask.java       |   1 -
 .../execute/task/CrossSpaceCompactionTask.java     |  37 +-
 .../execute/task/InnerSpaceCompactionTask.java     |   6 +-
 .../compaction/execute/utils/CompactionUtils.java  |  22 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |   3 +-
 .../compaction/schedule/CompactionTaskManager.java |  70 +++-
 .../compaction/schedule/CompactionWorker.java      |   3 -
 .../estimator/AbstractCompactionEstimator.java     |   3 +-
 .../ReadPointCrossCompactionEstimator.java         |   6 +-
 .../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   | 317 ++++-------------
 .../db/engine/storagegroup/TsFileResource.java     |  15 +-
 .../engine/storagegroup/TsFileResourceStatus.java  |   3 +-
 .../SchemaQuotaExceededException.java}             |  23 +-
 .../db/exception/query/OutOfTTLException.java      |   4 +-
 .../apache/iotdb/db/metadata/MetadataConstant.java |   6 +
 .../db/metadata/cache/DataNodeSchemaCache.java     |  18 +-
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |  31 +-
 .../cache/DeviceUsingTemplateSchemaCache.java      |  50 ++-
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |  36 +-
 .../db/metadata/cache/TimeSeriesSchemaCache.java   |   9 +-
 .../dualkeycache/impl/DualKeyCacheBuilder.java     |  18 +-
 .../dualkeycache/impl/DualKeyCachePolicy.java      |   3 +-
 .../dualkeycache/impl/FIFOCacheEntryManager.java   | 189 ++++++++++
 .../mnode/config/factory/ConfigMNodeFactory.java   |   7 +
 .../mnode/mem/factory/MemMNodeFactory.java         |  14 +
 ...MeasurementMNode.java => LogicalViewMNode.java} |  31 +-
 .../metadata/mnode/mem/impl/MeasurementMNode.java  |   5 +
 .../metadata/mnode/mem/info/LogicalViewInfo.java   | 163 +++++++++
 .../schemafile/factory/CacheMNodeFactory.java      |   7 +
 .../schemafile/impl/CachedMeasurementMNode.java    |   5 +
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   8 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  43 ++-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  | 103 +++++-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |  48 ++-
 .../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 +-
 .../plan/schemaregion/SchemaRegionPlanType.java    |   2 +
 .../plan/schemaregion/SchemaRegionPlanVisitor.java |   5 +
 .../impl/SchemaRegionPlanDeserializer.java         |  24 ++
 .../impl/SchemaRegionPlanSerializer.java           |  27 ++
 .../impl/SchemaRegionPlanTxtSerializer.java        |  21 ++
 .../impl/read/SchemaRegionReadPlanFactory.java     |  37 +-
 .../impl/read/ShowDevicesPlanImpl.java             |  15 +-
 .../impl/read/ShowTimeSeriesPlanImpl.java          |  37 +-
 .../impl/write/CreateLogicalViewPlanImpl.java      |  75 ++++
 .../plan/schemaregion/read/IShowDevicesPlan.java   |   4 +
 .../schemaregion/read/IShowTimeSeriesPlan.java     |   7 +-
 .../schemaregion/result/ShowTimeSeriesResult.java  |  13 +-
 .../schemaregion/write/ICreateLogicalViewPlan.java |  66 ++++
 .../metadata/query/info/ITimeSeriesSchemaInfo.java |   6 +-
 .../rescon/DataNodeSchemaQuotaManager.java         |  92 +++++
 .../metadata/rescon/MemSchemaRegionStatistics.java |   8 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |  21 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |  92 ++++-
 .../schemaregion/SchemaRegionMemoryImpl.java       | 126 ++++---
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  83 ++---
 .../apache/iotdb/db/metadata/tag/TagManager.java   |  16 +-
 .../metadata/template/ClusterTemplateManager.java  |  40 ++-
 .../template/alter/TemplateExtendInfo.java         |  78 ++++
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   3 +-
 .../visitor/GetSourcePathsVisitor.java             |  96 +++++
 .../visitor/TransformToExpressionVisitor.java      | 321 +++++++++++++++++
 .../metadata/visitor/SchemaExecutionVisitor.java   |  22 ++
 .../db/mpp/common/header/ColumnHeaderConstant.java |   6 +-
 .../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 +-
 .../mpp/execution/exchange/SharedTsBlockQueue.java |  12 +-
 .../execution/executor/RegionWriteExecutor.java    | 173 ++++++---
 .../operator/process/DeviceViewIntoOperator.java   |   6 +-
 .../process/join/HorizontallyConcatOperator.java   |   8 +-
 .../operator/schema/source/DeviceSchemaSource.java |  13 +-
 .../schema/source/SchemaSourceFactory.java         |  27 +-
 .../schema/source/TimeSeriesSchemaSource.java      |  31 +-
 .../mpp/metric/TimeSeriesMetadataCacheMetrics.java |   4 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |   2 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  16 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 145 +++++++-
 .../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  | 391 +++++++++++++++++++++
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       | 193 ++++++++--
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  47 ++-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    | 106 ++++--
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  21 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   6 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   5 +
 .../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 | 250 +++++++++++++
 .../write/InternalCreateMultiTimeSeriesNode.java   |   1 +
 .../plan/node/write/InsertMultiTabletsNode.java    |  22 +-
 .../plan/planner/plan/node/write/InsertNode.java   | 133 +------
 .../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 +-
 .../iotdb/db/mpp/plan/statement/StatementType.java |   2 +
 .../db/mpp/plan/statement/StatementVisitor.java    |   7 +
 .../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 +-
 .../metadata/CreateLogicalViewStatement.java       | 246 +++++++++++++
 .../statement/metadata/ShowDevicesStatement.java   |  10 +
 .../metadata/ShowTimeSeriesStatement.java          |  30 +-
 .../org/apache/iotdb/db/pipe/agent/PipeAgent.java  |  12 +
 .../db/pipe/agent/plugin/PipePluginAgent.java      |  26 +-
 .../agent/receiver/IoTDBThriftReceiver.java}       |  17 +-
 .../db/pipe/agent/receiver/PipeReceiverAgent.java  |  90 +++++
 .../iotdb/db/pipe/agent/runtime/PipeLauncher.java  | 170 +++++++++
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |  47 ++-
 .../iotdb/db/pipe/agent/task/PipeTaskAgent.java    | 367 +++++++++++++++----
 .../PipeCollectorConstant.java}                    |  21 +-
 .../apache/iotdb/db/pipe/config/PipeConfig.java    |  22 ++
 .../PipeConnectorConstant.java}                    |  19 +-
 .../config/PipeProcessorConstant.java}             |  11 +-
 .../core/collector/IoTDBDataRegionCollector.java   | 122 +++++++
 .../PipeHistoricalDataRegionTsFileCollector.java   | 112 ++++++
 .../realtime/PipeRealtimeDataRegionCollector.java  |  23 +-
 ... => PipeRealtimeDataRegionHybridCollector.java} |  62 +++-
 .../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}   |  20 +-
 .../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             |  33 +-
 .../{ => manager}/PipeConnectorSubtaskManager.java |  56 ++-
 .../iotdb/db/pipe/core/event/EnrichedEvent.java    |  54 +++
 .../core/event/impl/PipeTabletInsertionEvent.java  |  31 +-
 .../core/event/impl/PipeTsFileInsertionEvent.java  |  84 ++++-
 .../event/realtime/PipeRealtimeCollectEvent.java   |  20 +-
 .../realtime/PipeRealtimeCollectEventFactory.java  |   8 +-
 .../event/view/collector/PipeEventCollector.java   |  64 +++-
 .../execution/executor/PipeSubtaskExecutor.java    |  17 +-
 ...anager.java => PipeSubtaskExecutorManager.java} |  12 +-
 .../execution/scheduler/PipeTaskScheduler.java     |  18 +-
 .../db/pipe/resource/PipeFileResourceManager.java  | 186 ++++++++++
 .../iotdb/db/pipe/resource/PipeRaftlogHolder.java  |  22 --
 .../db/pipe/resource/PipeResourceManager.java      |  16 +-
 .../iotdb/db/pipe/resource/PipeTsFileHolder.java   |  22 --
 .../iotdb/db/pipe/resource/PipeWALHolder.java      |  22 --
 .../org/apache/iotdb/db/pipe/task/PipeBuilder.java |  66 ++++
 .../org/apache/iotdb/db/pipe/task/PipeTask.java    |   9 +-
 .../apache/iotdb/db/pipe/task/PipeTaskBuilder.java |  60 +++-
 .../apache/iotdb/db/pipe/task/PipeTaskManager.java |  96 +++++
 .../task/queue/EventSupplier.java}                 |  20 +-
 .../ListenableBlockingPendingQueue.java}           |  18 +-
 .../db/pipe/task/queue/ListenablePendingQueue.java | 159 +++++++++
 .../ListenableUnblockingPendingQueue.java}         |  18 +-
 .../queue/PendingQueueEmptyToNotEmptyListener.java |  12 +-
 .../queue/PendingQueueFullToNotFullListener.java}  |   8 +-
 .../queue/PendingQueueNotEmptyToEmptyListener.java |  12 +-
 .../queue/PendingQueueNotFullToFullListener.java}  |   8 +-
 .../db/pipe/task/stage/PipeTaskCollectorStage.java | 109 ++++--
 .../db/pipe/task/stage/PipeTaskConnectorStage.java | 105 +-----
 .../db/pipe/task/stage/PipeTaskProcessorStage.java | 138 ++++++--
 .../iotdb/db/pipe/task/stage/PipeTaskStage.java    |  95 ++++-
 .../db/pipe/task/subtask/PipeConnectorSubtask.java | 124 +++++--
 .../db/pipe/task/subtask/PipeProcessorSubtask.java |  49 ++-
 .../iotdb/db/pipe/task/subtask/PipeSubtask.java    |  34 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |  20 +-
 .../java/org/apache/iotdb/db/service/DataNode.java | 102 +-----
 .../metrics/recorder/CompactionMetricsManager.java |  81 +++--
 .../db/service/thrift/ProcessorWithMetrics.java    |   6 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  | 209 +++++++----
 .../impl/DataNodeInternalRPCServiceImpl.java       |  24 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |  11 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   4 +-
 .../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  |  41 ++-
 .../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}           |  20 +-
 .../exception/WALPipeException.java}               |  20 +-
 .../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  |   9 +-
 .../FastCrossCompactionPerformerTest.java          |   5 +
 .../db/engine/compaction/MemoryControlTest.java    |  75 ++++
 .../cross/CrossSpaceCompactionExceptionTest.java   |   2 +-
 .../cross/CrossSpaceCompactionSelectorTest.java    | 171 +++++++++
 .../CrossSpaceCompactionWithFastPerformerTest.java |   6 +-
 ...eCompactionWithFastPerformerValidationTest.java |  20 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |   6 +-
 .../db/engine/compaction/cross/MergeTest.java      |   6 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |  46 +--
 .../inner/AbstractInnerSpaceCompactionTest.java    |   4 +-
 .../inner/InnerCompactionMoreDataTest.java         |   2 +-
 .../compaction/inner/InnerCompactionTest.java      |   4 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |  76 ++++
 .../inner/sizetiered/SizeTieredCompactionTest.java |  10 +-
 .../compaction/utils/CompactionCheckerUtils.java   |   4 +
 .../utils/MultiTsFileDeviceIteratorTest.java       |  12 +-
 .../db/engine/snapshot/IoTDBSnapshotTest.java      |   2 +-
 .../db/engine/storagegroup/DataRegionTest.java     |  16 +-
 .../engine/storagegroup/FakedTsFileResource.java   |   2 +-
 .../db/engine/storagegroup/TsFileResourceTest.java |   2 +-
 .../cache/dualkeycache/DualKeyCacheTest.java       |  17 +
 .../schemaRegion/SchemaRegionBasicTest.java        | 167 ++++++++-
 .../schemaRegion/SchemaRegionTestUtil.java         |   4 +-
 .../metadata/view/ViewExpressionToStringTest.java  | 183 ++++++++++
 .../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  |  54 ++-
 .../core/collector/PipeRealtimeCollectTest.java    | 104 +++++-
 .../pipe/core/connector/PipeThriftRequestTest.java | 118 +++++++
 .../executor/PipeConnectorSubtaskExecutorTest.java |   8 +-
 .../executor/PipeProcessorSubtaskExecutorTest.java |  10 +-
 .../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             |  18 +-
 .../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 |  23 +-
 .../write/schema/VectorMeasurementSchema.java      |  10 +
 524 files changed, 20006 insertions(+), 5138 deletions(-)
 copy server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeAssignerSubtask.java => confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/pipe/task/ShowPipePlanV2.java (56%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/pipe/coordinator/PipeHandleLeaderChangePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/pipe/task/PipeTableResp.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/{ => plugin}/PipePluginCoordinator.java (98%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeMetaSyncer.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/runtime/PipeRuntimeCoordinator.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/{ => task}/PipeTaskCoordinator.java (61%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/manager/{ => schema}/ClusterSchemaManager.java (94%)
 copy server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java => confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaQuotaStatistics.java (52%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/runtime/PipeHandleLeaderChangeProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/runtime/PipeMetaSyncProcedure.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/runtime/PipeHandleLeaderChangeProcedureTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/runtime/PipeMetaSyncProcedureTest.java
 create mode 100644 distribution/src/assembly/spark-connector.xml
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterDeviceQuotaIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBClusterMeasurementQuotaIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/spark/it/AbstractTest.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/spark/it/ReadTest.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/spark/it/Utils.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/spark/it/WriteTest.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/PathPatternUtil.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/collector/IoTDBCollector.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/connector/IoTDBThriftConnector.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/IMeasurementSchemaInfo.java => node-commons/src/main/java/org/apache/iotdb/commons/schema/ClusterSchemaQuotaLevel.java (76%)
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilter.java
 rename server/src/test/java/org/apache/iotdb/db/pipe/execution/executor/PipeAssignerSubtaskExecutorTest.java => node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterType.java (55%)
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/SchemaFilterVisitor.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/DataTypeFilter.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/PathContainsFilter.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/filter/impl/TagFilter.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/LogicalViewSchema.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/ViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/ViewExpressionType.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/BinaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/AdditionViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/ArithmeticBinaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/DivisionViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/ModuloViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/MultiplicationViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/arithmetic/SubtractionViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/CompareBinaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/EqualToViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/GreaterEqualViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/GreaterThanViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/LessEqualViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/LessThanViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/compare/NonEqualViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/logic/LogicAndViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/logic/LogicBinaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/binary/logic/LogicOrViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/leaf/ConstantViewOperand.java
 copy server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeAssignerSubtask.java => node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/leaf/LeafViewOperand.java (65%)
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/leaf/NullViewOperand.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/leaf/TimeSeriesViewOperand.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/leaf/TimestampViewOperand.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/multi/FunctionViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/ternary/BetweenViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/ternary/TernaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/InViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/IsNullViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/LikeViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/LogicNotViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/NegationViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/RegularViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/unary/UnaryViewExpression.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/schema/view/viewExpression/visitor/ViewExpressionVisitor.java
 create mode 100644 node-commons/src/test/java/org/apache/iotdb/commons/pipe/task/meta/PipeMetaDeSerTest.java
 copy server/src/main/java/org/apache/iotdb/db/wal/utils/listener/WALFlushListener.java => pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java (74%)
 copy server/src/main/java/org/apache/iotdb/db/{metadata/cache/dualkeycache/impl/DualKeyCachePolicy.java => engine/compaction/constant/CompactionTaskStatus.java} (85%)
 rename server/src/main/java/org/apache/iotdb/db/{pipe/resource/PipeFileManager.java => engine/compaction/constant/CompactionTaskType.java} (81%)
 copy server/src/main/java/org/apache/iotdb/db/{metadata/cache/dualkeycache/impl/DualKeyCachePolicy.java => engine/compaction/execute/exception/CompactionMemoryNotEnoughException.java} (78%)
 copy server/src/main/java/org/apache/iotdb/db/exception/{query/OutOfTTLException.java => metadata/SchemaQuotaExceededException.java} (57%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/cache/dualkeycache/impl/FIFOCacheEntryManager.java
 copy server/src/main/java/org/apache/iotdb/db/metadata/mnode/mem/impl/{MeasurementMNode.java => LogicalViewMNode.java} (65%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mnode/mem/info/LogicalViewInfo.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/write/CreateLogicalViewPlanImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/write/ICreateLogicalViewPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/rescon/DataNodeSchemaQuotaManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/view/viewExpression/visitor/GetSourcePathsVisitor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/view/viewExpression/visitor/TransformToExpressionVisitor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/CreateLogicalViewNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateLogicalViewStatement.java
 copy server/src/main/java/org/apache/iotdb/db/{mpp/common/schematree/IMeasurementSchemaInfo.java => pipe/agent/receiver/IoTDBThriftReceiver.java} (56%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/agent/receiver/PipeReceiverAgent.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/agent/runtime/PipeLauncher.java
 copy server/src/main/java/org/apache/iotdb/db/pipe/{task/subtask/PipeAssignerSubtask.java => config/PipeCollectorConstant.java} (64%)
 copy server/src/main/java/org/apache/iotdb/db/pipe/{task/subtask/PipeAssignerSubtask.java => config/PipeConnectorConstant.java} (68%)
 copy server/src/main/java/org/apache/iotdb/db/{metadata/plan/schemaregion/read/IShowDevicesPlan.java => pipe/config/PipeProcessorConstant.java} (78%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/collector/IoTDBDataRegionCollector.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/collector/historical/PipeHistoricalDataRegionTsFileCollector.java
 rename server/src/main/java/org/apache/iotdb/db/pipe/core/collector/realtime/{PipeRealtimeHybridDataRegionCollector.java => PipeRealtimeDataRegionHybridCollector.java} (68%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/IoTDBThriftConnectorClient.java
 copy server/src/main/java/org/apache/iotdb/db/pipe/{task/subtask/PipeAssignerSubtask.java => core/connector/impl/iotdb/IoTDBThriftConnectorVersion.java} (74%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/IoTDBThriftConnectorV1.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/IoTDBThriftReceiverV1.java
 copy server/src/main/java/org/apache/iotdb/db/{metadata/plan/schemaregion/read/IShowTimeSeriesPlan.java => pipe/core/connector/impl/iotdb/v1/PipeRequestType.java} (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/reponse/PipeTransferFilePieceResp.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/request/PipeTransferFilePieceReq.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/request/PipeTransferFileSealReq.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/request/PipeTransferHandshakeReq.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/connector/impl/iotdb/v1/request/PipeTransferInsertNodeReq.java
 rename server/src/main/java/org/apache/iotdb/db/pipe/core/connector/{ => manager}/PipeConnectorSubtaskLifeCycle.java (71%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/core/connector/{ => manager}/PipeConnectorSubtaskManager.java (58%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/core/event/EnrichedEvent.java
 rename server/src/main/java/org/apache/iotdb/db/pipe/execution/executor/{PipeTaskExecutorManager.java => PipeSubtaskExecutorManager.java} (86%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/resource/PipeFileResourceManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/resource/PipeRaftlogHolder.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/resource/PipeTsFileHolder.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/resource/PipeWALHolder.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/task/PipeBuilder.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/task/PipeTaskManager.java
 rename server/src/main/java/org/apache/iotdb/db/{mpp/plan/planner/plan/node/write/BatchInsertNode.java => pipe/task/queue/EventSupplier.java} (65%)
 copy server/src/main/java/org/apache/iotdb/db/pipe/task/{subtask/PipeAssignerSubtask.java => queue/ListenableBlockingPendingQueue.java} (69%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/pipe/task/queue/ListenablePendingQueue.java
 copy server/src/main/java/org/apache/iotdb/db/pipe/task/{subtask/PipeAssignerSubtask.java => queue/ListenableUnblockingPendingQueue.java} (71%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskOperation.java => server/src/main/java/org/apache/iotdb/db/pipe/task/queue/PendingQueueEmptyToNotEmptyListener.java (83%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/{agent/runtime/MetaSyncScheduler.java => task/queue/PendingQueueFullToNotFullListener.java} (83%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/persistence/pipe/PipeTaskOperation.java => server/src/main/java/org/apache/iotdb/db/pipe/task/queue/PendingQueueNotEmptyToEmptyListener.java (83%)
 rename server/src/main/java/org/apache/iotdb/db/pipe/{core/collector/historical/PipeHistoricalCollector.java => task/queue/PendingQueueNotFullToFullListener.java} (83%)
 copy server/src/main/java/org/apache/iotdb/db/{pipe/task/subtask/PipeAssignerSubtask.java => wal/exception/MemTablePinException.java} (71%)
 copy server/src/main/java/org/apache/iotdb/db/{pipe/task/subtask/PipeAssignerSubtask.java => wal/exception/WALPipeException.java} (72%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/wal/utils/WALEntryPosition.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/wal/utils/WALInsertNodeCache.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/wal/utils/WALPipeHandler.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/MemoryControlTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionSelectorTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/view/ViewExpressionToStringTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/pipe/core/connector/PipeThriftRequestTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/pipe/resource/PipeFileResourceManagerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/wal/node/WALPipeHandlerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/wal/utils/WALInsertNodeCacheTest.java
 copy spark-iotdb-connector/{ => scala_2.11}/pom.xml (51%)
 copy spark-iotdb-connector/{ => scala_2.12}/pom.xml (53%)
 delete mode 100644 spark-iotdb-connector/src/test/resources/iotdb-datanode.properties
 delete mode 100644 spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/EnvironmentUtils.java
 delete mode 100644 spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/IoTDBTest.scala
 delete mode 100644 spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/IoTDBWriteTest.scala
 delete mode 100644 spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/unit/DataFrameToolsTest.scala
 rename server/src/main/java/org/apache/iotdb/db/pipe/task/subtask/PipeAssignerSubtask.java => tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchemaType.java (70%)