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

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

commit 44a1ef6fb1a478bd72b55982fb6ecc725ba6f520
Merge: a5bf5ed66f 732fa7716e
Author: jt <[email protected]>
AuthorDate: Wed Jun 15 10:16:44 2022 +0800

    Merge branch 'master' into expr_catch_up
    
    # Conflicts:
    #       service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java

 .github/workflows/cluster-it.yml                   |   14 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    2 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |    2 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 checkstyle.xml                                     |   30 +-
 client-py/README.md                                |  114 +-
 client-py/SessionExample.py                        |   55 +-
 client-py/iotdb/Session.py                         |  254 +++-
 client-py/iotdb/dbapi/Connection.py                |   91 ++
 client-py/iotdb/dbapi/Cursor.py                    |  282 ++++
 .../{tsfile/utils/Pair.py => dbapi/Exceptions.py}  |   47 +-
 .../{tsfile/utils/Pair.py => dbapi/__init__.py}    |   12 +-
 .../utils/Pair.py => dbapi/tests/__init__.py}      |    9 -
 client-py/iotdb/dbapi/tests/test_connection.py     |   57 +
 client-py/iotdb/dbapi/tests/test_cursor.py         |  123 ++
 client-py/iotdb/template/Template.py               |    5 +-
 client-py/iotdb/template/TemplateNode.py           |    3 +-
 .../Pair.py => template/TemplateQueryType.py}      |   25 +-
 .../iotdb/tsfile/{utils/Pair.py => __init__.py}    |    9 -
 .../tsfile/{utils/Pair.py => common/__init__.py}   |    9 -
 client-py/iotdb/tsfile/utils/Pair.py               |    4 +-
 client-py/tests/test_template.py                   |  130 +-
 .../org/apache/iotdb/cluster/ClusterIoTDB.java     |    7 +-
 .../{PhysicalPlanLog.java => RequestLog.java}      |    0
 .../iotdb/cluster/log/manage/RaftLogManager.java   |    5 +-
 .../serializable/SyncLogDequeSerializer.java       |    4 +-
 .../cluster/server/PullSnapshotHintService.java    |    4 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |   28 +-
 .../resources/conf/iotdb-confignode.properties     |    8 +-
 .../confignode/client/SyncDataNodeClientPool.java  |   46 +-
 .../iotdb/confignode/conf/ConfigNodeConf.java      |    8 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |   40 +-
 .../consensus/request/ConfigRequest.java           |   33 +-
 .../consensus/request/auth/AuthorReq.java          |   30 +-
 .../request/read/CountStorageGroupReq.java         |   10 +-
 .../consensus/request/read/GetDataNodeInfoReq.java |    8 +-
 .../request/read/GetDataPartitionReq.java          |   43 +-
 .../request/read/GetNodePathsPartitionReq.java     |    7 +-
 .../request/read/GetSchemaPartitionReq.java        |   26 +-
 .../request/write/ApplyConfigNodeReq.java          |    8 +-
 .../request/write/CreateDataPartitionReq.java      |   87 +-
 .../consensus/request/write/CreateFunctionReq.java |   13 +-
 .../consensus/request/write/CreateRegionsReq.java  |   26 +-
 .../request/write/CreateSchemaPartitionReq.java    |   57 +-
 .../request/write/DeleteProcedureReq.java          |    7 +-
 .../consensus/request/write/DeleteRegionsReq.java  |   42 +-
 .../request/write/DeleteStorageGroupReq.java       |   27 +-
 .../consensus/request/write/DropFunctionReq.java   |    7 +-
 .../request/write/PreDeleteStorageGroupReq.java    |    9 +-
 .../request/write/RegisterDataNodeReq.java         |    8 +-
 .../request/write/SetDataReplicationFactorReq.java |    9 +-
 .../write/SetSchemaReplicationFactorReq.java       |    9 +-
 .../request/write/SetStorageGroupReq.java          |    7 +-
 .../consensus/request/write/SetTTLReq.java         |    9 +-
 .../request/write/SetTimePartitionIntervalReq.java |    9 +-
 .../request/write/UpdateProcedureReq.java          |    7 +-
 .../consensus/response/DataPartitionResp.java      |   10 +
 .../consensus/response/SchemaPartitionResp.java    |   10 +
 .../statemachine/PartitionRegionStateMachine.java  |    4 +-
 .../exception/StorageGroupNotExistsException.java  |   11 +-
 .../confignode/exception/TimeoutException.java     |   11 +-
 .../confignode/manager/ClusterSchemaManager.java   |   43 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   56 +-
 .../iotdb/confignode/manager/ConsensusManager.java |    2 -
 .../apache/iotdb/confignode/manager/Manager.java   |    8 +-
 .../iotdb/confignode/manager/PartitionManager.java |  464 +++---
 .../confignode/manager/PermissionManager.java      |   36 +-
 .../iotdb/confignode/manager/ProcedureManager.java |    3 +-
 .../iotdb/confignode/manager/load/LoadManager.java |  125 +-
 .../manager/load/balancer/PartitionBalancer.java   |   71 +
 .../manager/load/balancer/RegionBalancer.java      |   21 +-
 .../partition/GreedyPartitionAllocator.java        |  124 ++
 .../balancer/partition/IPartitionAllocator.java    |   53 +
 .../CopySetRegionAllocator.java                    |   15 +-
 .../{allocator => region}/IRegionAllocator.java    |    6 +-
 .../iotdb/confignode/persistence/AuthorInfo.java   |   29 +-
 .../confignode/persistence/ClusterSchemaInfo.java  |  131 +-
 .../confignode/persistence/PartitionInfo.java      |  645 ---------
 .../executor/ConfigRequestExecutor.java            |   16 +-
 .../persistence/partition/PartitionInfo.java       |  595 ++++++++
 .../persistence/partition/RegionGroup.java         |   97 ++
 .../partition/StorageGroupPartitionTable.java      |  331 +++++
 .../confignode/procedure/InternalProcedure.java    |    3 -
 .../iotdb/confignode/procedure/Procedure.java      |   45 +-
 .../procedure/StateMachineProcedure.java           |    9 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |    9 +-
 .../impl/DeleteStorageGroupProcedure.java          |   11 +-
 .../confignode/procedure/store/ProcedureWAL.java   |   12 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   51 +-
 .../consensus/request/ConfigRequestSerDeTest.java  |  274 ++--
 .../hash/DeviceGroupHashExecutorManualTest.java    |    2 +-
 .../persistence/ClusterSchemaInfoTest.java         |    2 +-
 .../confignode/persistence/PartitionInfoTest.java  |   84 +-
 .../confignode/procedure/entity/IncProcedure.java  |    8 +-
 .../procedure/entity/SleepProcedure.java           |    8 +-
 .../procedure/entity/StuckSTMProcedure.java        |    9 +-
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |   24 +-
 .../org/apache/iotdb/consensus/common/Peer.java    |    7 +-
 .../common/request/ByteBufferConsensusRequest.java |    4 +-
 .../common/request/IConsensusRequest.java          |   15 +-
 .../common/request/IndexedConsensusRequest.java    |   19 +-
 .../apache/iotdb/consensus/config/RatisConfig.java |    2 +-
 .../multileader/MultiLeaderServerImpl.java         |   30 +-
 .../multileader/logdispatcher/LogDispatcher.java   |   16 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |    2 +-
 .../multileader/wal/GetConsensusReqReaderPlan.java |    5 +-
 .../ratis/ApplicationStateMachineProxy.java        |   10 +-
 .../apache/iotdb/consensus/ratis/RatisClient.java  |   49 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |    2 +-
 .../iotdb/consensus/ratis/RequestMessage.java      |   18 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |   59 +-
 .../multileader/MultiLeaderConsensusTest.java      |   18 +-
 .../apache/iotdb/consensus/ratis/TestUtils.java    |   11 +-
 .../standalone/StandAloneConsensusTest.java        |    8 +-
 docs/Download/README.md                            |   20 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |    8 +-
 .../UserGuide/API/Programming-Python-Native-API.md |  113 +-
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |   12 +-
 docs/UserGuide/Reference/Keywords.md               |   24 -
 docs/UserGuide/Reference/Syntax-Conventions.md     |   24 +-
 docs/UserGuide/UDF-Library/String-Processing.md    |  656 +++++++--
 docs/zh/Download/README.md                         |   21 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |    8 +-
 .../UserGuide/API/Programming-Python-Native-API.md |  112 +-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |   11 +-
 docs/zh/UserGuide/Reference/Keywords.md            |   24 -
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   29 +-
 docs/zh/UserGuide/UDF-Library/String-Processing.md |  652 +++++++--
 .../iotdb/SyntaxConventionRelatedExample.java      |  161 +++
 .../iotdb/SyntaxConventionRelatedExample.java      |  145 ++
 .../java/org/apache/iotdb/flink/IoTDBSink.java     |    1 +
 integration-test/README.md                         |   27 +-
 integration-test/pom.xml                           |    2 +-
 .../org/apache/iotdb/it/env/ClusterEnvBase.java    |  125 +-
 .../org/apache/iotdb/it/env/ClusterEnvConfig.java  |   40 +
 .../org/apache/iotdb/it/env/ConfigFactory.java     |   11 +-
 .../java/org/apache/iotdb/it/env/ConfigNode.java   |   20 +-
 .../java/org/apache/iotdb/it/env/DataNode.java     |   14 +-
 .../java/org/apache/iotdb/it/env/EnvFactory.java   |    2 +
 .../org/apache/iotdb/it/env/IoTDBTestRunner.java   |   44 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |    4 +
 .../apache/iotdb/itbase/constant/TestConstant.java |  143 ++
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   40 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |    2 +
 .../itbase/runtime/ClusterResultSetMetaData.java   |  239 ++++
 .../itbase/runtime/ClusterTestConnection.java      |  333 +++++
 .../iotdb/itbase/runtime/ClusterTestResultSet.java | 1178 ++++++++++++++++
 .../iotdb/itbase/runtime/ClusterTestStatement.java |  297 ++++
 .../itbase/runtime/InconsistentDataException.java  |   12 +-
 .../iotdb/itbase/runtime/NodeConnection.java       |   85 ++
 .../itbase/runtime/ParallelRequestDelegate.java    |   60 +
 .../iotdb/itbase/runtime/RequestDelegate.java      |   86 ++
 .../iotdb/itbase/runtime/RequestThreadPool.java    |   45 +-
 .../itbase/runtime/SerialRequestDelegate.java      |   39 +-
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |    3 +
 .../iotdb/db/it/IoTDBExampleParallel1IT.java       |   82 --
 .../iotdb/db/it/IoTDBExampleParallel2IT.java       |   99 --
 .../iotdb/db/it/IoTDBExampleParallel3IT.java       |  116 --
 .../iotdb/db/it/IoTDBUDTFBuiltinFunctionIT.java    | 1233 ++++++++++++++++
 .../iotdb/db/it/aligned/AlignedWriteUtil.java      |  149 ++
 .../db/it/aligned/IoTDBAlignedSeriesQuery2IT.java  |   61 +
 .../db/it/aligned/IoTDBAlignedSeriesQuery3IT.java  |   61 +
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   | 1475 ++++++++++++++++++++
 .../db/it/aligned/IoTDBInsertAlignedValues2IT.java |  120 ++
 .../db/it/aligned/IoTDBInsertAlignedValues3IT.java |  121 ++
 .../db/it/aligned/IoTDBInsertAlignedValues4IT.java |   78 ++
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |  284 ++++
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |   77 +
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |  323 +++++
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |   63 +
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |  169 +--
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |   81 ++
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |   80 ++
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |   80 ++
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |  407 +++---
 .../org/apache/iotdb/db/it/env/StandaloneEnv.java  |    8 +-
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   67 +
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    6 +
 .../iotdb/db/integration/IoTDBNestedQueryIT.java   |   14 +-
 .../aligned/IoTDBInsertAlignedValuesIT.java        |  391 ------
 .../db/integration/aligned/IoTDBLastQuery2IT.java  |   65 -
 .../aligned/IoTDBLastQueryWithDeletion2IT.java     |   80 --
 .../aligned/IoTDBLastQueryWithDeletionIT.java      |  379 -----
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |   68 -
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |  381 -----
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |   85 --
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |  383 -----
 .../IoTDBRawQueryWithoutValueFilter2IT.java        |   66 -
 .../IoTDBRawQueryWithoutValueFilter3IT.java        |   63 -
 .../aligned/IoTDBRawQueryWithoutValueFilterIT.java |  633 ---------
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |   83 --
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    2 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |    4 +-
 .../reporter/MicrometerPrometheusReporter.java     |    1 +
 .../micrometer/MicrometerMetricManagerTest.java    |   12 +
 metrics/pom.xml                                    |   41 +
 node-commons/pom.xml                               |    5 +
 .../commons/client/ClientFactoryProperty.java      |    2 +-
 .../threadpool/ScheduledExecutorUtil.java          |  188 +++
 .../WrappedScheduledExecutorService.java           |    2 +
 .../WrappedSingleThreadScheduledExecutor.java      |    2 +
 .../iotdb/commons/partition/DataPartition.java     |  207 +--
 .../commons/partition/DataPartitionTable.java      |  183 +++
 .../iotdb/commons/partition/SchemaPartition.java   |  171 +--
 .../commons/partition/SchemaPartitionTable.java    |  177 +++
 .../commons/partition/SeriesPartitionTable.java    |  192 +++
 .../org/apache/iotdb/commons/path/PartialPath.java |   17 +
 .../org/apache/iotdb/commons/path/PathType.java    |   10 +-
 .../BuiltinTimeSeriesGeneratingFunction.java       |   21 +
 .../commons/udf/builtin/String/UDTFConcat.java     |   76 +
 .../commons/udf/builtin/String/UDTFEndsWith.java   |   53 +
 .../commons/udf/builtin/String/UDTFLower.java      |   50 +
 .../commons/udf/builtin/String/UDTFStartsWith.java |   52 +
 .../commons/udf/builtin/String/UDTFStrCompare.java |   57 +
 .../commons/udf/builtin/String/UDTFStrLength.java  |   50 +
 .../commons/udf/builtin/String/UDTFStrLocate.java  |   62 +
 .../commons/udf/builtin/String/UDTFSubstr.java     |   72 +
 .../iotdb/commons/udf/builtin/String/UDTFTrim.java |   50 +
 .../commons/udf/builtin/String/UDTFUpper.java      |   50 +
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |   37 +
 .../commons/utils/BasicStructureSerDeUtil.java     |   86 +-
 .../org/apache/iotdb/commons/utils/FileUtils.java  |   12 +
 .../org/apache/iotdb/commons/utils/PathUtils.java  |    4 +
 .../commons/utils/ThriftCommonsSerDeUtils.java     |   34 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   10 +
 .../iotdb/commons/IoTDBThreadPoolFactoryTest.java  |    4 +-
 .../commons/{ => client}/ClientManagerTest.java    |   87 +-
 .../client/mock/MockInternalRPCService.java        |   92 ++
 .../client/mock/MockInternalRPCServiceMBean.java   |    5 +-
 .../commons/partition/DataPartitionTableTest.java  |  124 ++
 .../iotdb/commons/partition/DataPartitionTest.java |   69 -
 .../partition/SchemaPartitionTableTest.java        |  101 ++
 .../commons/partition/SchemaPartitionTest.java     |   65 -
 .../partition/SeriesPartitionTableTest.java        |  111 ++
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |   94 +-
 .../utils/ThriftConfigNodeSerDeUtilsTest.java      |   14 -
 pom.xml                                            |   21 +-
 server/pom.xml                                     |    4 +
 .../src/assembly/resources/sbin/start-datanode.sh  |   63 +
 .../assembly/resources/sbin/start-new-server.bat   |  126 ++
 .../sbin/{start-server.sh => start-new-server.sh}  |   67 +-
 server/src/assembly/resources/sbin/start-server.sh |   63 +
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |    8 +-
 .../org/apache/iotdb/db/auth/AuthorityFetcher.java |  182 ---
 .../apache/iotdb/db/auth/AuthorizerManager.java    |  218 +--
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |  364 +++++
 .../apache/iotdb/db/auth/IAuthorityFetcher.java    |   22 +-
 .../iotdb/db/auth/StandaloneAuthorityFetcher.java  |  131 ++
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   34 +
 .../consensus/statemachine/BaseStateMachine.java   |   18 +-
 .../statemachine/DataRegionStateMachine.java       |   14 +-
 .../statemachine/SchemaRegionStateMachine.java     |    4 +-
 .../statemachine/visitor/DataExecutionVisitor.java |   10 -
 .../org/apache/iotdb/db/engine/StorageEngine.java  |   46 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  166 +--
 .../engine/compaction/CompactionTaskManager.java   |   47 +-
 .../utils/AlignedSeriesCompactionExecutor.java     |    8 +-
 .../utils/SingleSeriesCompactionExecutor.java      |   10 +-
 .../compaction/task/AbstractCompactionTask.java    |    2 +-
 .../writer/AbstractCompactionWriter.java           |    4 +-
 .../iotdb/db/engine/cq/ContinuousQueryService.java |    4 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |   60 +-
 .../db/engine/storagegroup/TsFileResource.java     |    6 +-
 .../dataregion/StorageGroupManager.java            |    4 +-
 .../runtime/SerializationRunTimeException.java     |   10 +-
 .../sql/MeasurementNotExistException.java          |   12 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  505 ++++++-
 .../localconfignode/LocalDataPartitionTable.java   |   50 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   17 +
 .../iotdb/db/metadata/mtree/MTreeAboveSG.java      |   24 +
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |    1 +
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |    1 +
 .../apache/iotdb/db/metadata/path/AlignedPath.java |   29 +
 .../iotdb/db/metadata/path/MeasurementPath.java    |   21 +
 .../db/metadata/schemaregion/SchemaEngine.java     |    7 +
 .../metadata/schemaregion/SchemaRegionUtils.java   |    5 +
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |    6 +-
 .../metadata/visitor/SchemaExecutionVisitor.java   |   14 -
 .../TimeRangeIteratorFactory.java                  |   12 +-
 .../iotdb/db/mpp/common/FragmentInstanceId.java    |   14 +-
 .../apache/iotdb/db/mpp/common/PlanFragmentId.java |    9 +-
 .../org/apache/iotdb/db/mpp/common/QueryId.java    |    6 +
 .../db/mpp/common/schematree/PathPatternNode.java  |   13 +
 .../db/mpp/common/schematree/PathPatternTree.java  |    6 +
 .../iotdb/db/mpp/common/schematree/SchemaTree.java |    7 +-
 .../execution/datatransfer/DataBlockManager.java   |  199 +--
 .../execution/datatransfer/DataBlockService.java   |   21 +-
 .../execution/datatransfer/LocalSinkHandle.java    |    8 +-
 .../execution/datatransfer/LocalSourceHandle.java  |   46 +-
 .../execution/datatransfer/SharedTsBlockQueue.java |    6 +-
 .../db/mpp/execution/datatransfer/SinkHandle.java  |   89 +-
 .../mpp/execution/datatransfer/SourceHandle.java   |  349 ++---
 .../fragment/FragmentInstanceExecution.java        |   35 +-
 .../fragment/FragmentInstanceManager.java          |   82 +-
 .../fragment/FragmentInstanceStateMachine.java     |    7 +-
 .../schema/NodeManageMemoryMergeOperator.java      |    7 +-
 .../operator/schema/NodePathsConvertOperator.java  |    5 +-
 .../operator/schema/NodePathsCountOperator.java    |   38 +-
 .../execution/schedule/AbstractDriverThread.java   |   13 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |  119 +-
 .../mpp/execution/schedule/DriverTaskThread.java   |    6 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |   60 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |   64 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   47 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |   70 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |    9 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |   57 +-
 .../iotdb/db/mpp/plan/analyze/SchemaValidator.java |    6 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |  151 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |  237 +++-
 .../iotdb/db/mpp/plan/analyze/TypeProvider.java    |   10 +
 .../DataNodeEndPoints.java}                        |   30 +-
 .../db/mpp/plan/execution/IQueryExecution.java     |    2 +
 .../db/mpp/plan/execution/QueryExecution.java      |   99 +-
 .../execution/config/AuthorizerConfigTask.java     |   87 --
 .../mpp/plan/execution/config/AuthorizerTask.java  |   48 +
 .../mpp/plan/execution/config/ConfigExecution.java |   32 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |    8 +-
 .../execution/config/CountStorageGroupTask.java    |   51 +-
 .../plan/execution/config/CreateFunctionTask.java  |   74 +-
 .../execution/config/DeleteStorageGroupTask.java   |   69 +-
 .../plan/execution/config/DropFunctionTask.java    |   65 +-
 .../db/mpp/plan/execution/config/FlushTask.java    |   66 +
 .../db/mpp/plan/execution/config/IConfigTask.java  |    7 +-
 .../plan/execution/config/SetStorageGroupTask.java |   66 +-
 .../db/mpp/plan/execution/config/SetTTLTask.java   |   58 +-
 .../mpp/plan/execution/config/ShowClusterTask.java |   65 +-
 .../plan/execution/config/ShowFunctionsTask.java   |    7 +-
 .../execution/config/ShowStorageGroupTask.java     |   64 +-
 .../db/mpp/plan/execution/config/ShowTTLTask.java  |   85 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  328 +++++
 .../config/executor/IConfigTaskExecutor.java       |   61 +
 .../executor/StandsloneConfigTaskExecutor.java     |  259 ++++
 .../plan/execution/memory/MemorySourceHandle.java  |    4 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |   14 +
 .../plan/expression/binary/BinaryExpression.java   |    7 +
 .../mpp/plan/expression/leaf/ConstantOperand.java  |    7 +
 .../plan/expression/leaf/TimeSeriesOperand.java    |    6 +
 .../mpp/plan/expression/leaf/TimestampOperand.java |    6 +
 .../plan/expression/multi/FunctionExpression.java  |   11 +
 .../db/mpp/plan/expression/unary/InExpression.java |   18 +-
 .../mpp/plan/expression/unary/LikeExpression.java  |   16 +-
 .../plan/expression/unary/RegularExpression.java   |   16 +-
 .../mpp/plan/expression/unary/UnaryExpression.java |    6 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   47 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |   60 +-
 .../distribution/DistributionPlanContext.java      |    6 +
 .../planner/distribution/DistributionPlanner.java  |    2 +-
 .../planner/distribution/ExchangeNodeAdder.java    |   19 +-
 .../plan/planner/distribution/SourceRewriter.java  |    5 +-
 .../db/mpp/plan/planner/plan/FragmentInstance.java |   56 +-
 .../db/mpp/plan/planner/plan/PlanFragment.java     |   16 +-
 .../plan/planner/plan/node/DeleteRegionNode.java   |  109 --
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   20 +-
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |   44 +-
 .../db/mpp/plan/planner/plan/node/PlanNodeId.java  |    8 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   11 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |    6 +-
 .../node/metedata/read/CountSchemaMergeNode.java   |    7 +
 .../plan/node/metedata/read/DevicesCountNode.java  |    9 +
 .../node/metedata/read/DevicesSchemaScanNode.java  |   12 +
 .../metedata/read/LevelTimeSeriesCountNode.java    |   10 +
 .../read/NodeManagementMemoryMergeNode.java        |   12 +
 .../node/metedata/read/NodePathsConvertNode.java   |    7 +
 .../node/metedata/read/NodePathsCountNode.java     |    7 +
 .../metedata/read/NodePathsSchemaScanNode.java     |    9 +
 .../node/metedata/read/SchemaFetchMergeNode.java   |    7 +
 .../node/metedata/read/SchemaFetchScanNode.java    |    9 +
 .../node/metedata/read/SchemaQueryMergeNode.java   |    7 +
 .../metedata/read/SchemaQueryOrderByHeatNode.java  |    7 +
 .../node/metedata/read/TimeSeriesCountNode.java    |    9 +
 .../metedata/read/TimeSeriesSchemaScanNode.java    |   15 +
 .../node/metedata/write/AlterTimeSeriesNode.java   |   51 +-
 .../write/CreateAlignedTimeSeriesNode.java         |   67 +
 .../metedata/write/CreateMultiTimeSeriesNode.java  |   16 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |   52 +
 .../node/metedata/write/DeleteTimeSeriesNode.java  |   11 +
 .../metedata/write/InvalidateSchemaCacheNode.java  |   16 +
 .../plan/node/metedata/write/MeasurementGroup.java |   63 +-
 .../planner/plan/node/process/AggregationNode.java |   20 +-
 .../planner/plan/node/process/DeviceMergeNode.java |   13 +
 .../planner/plan/node/process/DeviceViewNode.java  |   25 +
 .../planner/plan/node/process/ExchangeNode.java    |   15 +
 .../plan/planner/plan/node/process/FillNode.java   |    8 +
 .../plan/planner/plan/node/process/FilterNode.java |   14 +
 .../planner/plan/node/process/FilterNullNode.java  |    8 +
 .../plan/node/process/GroupByLevelNode.java        |   18 +
 .../plan/node/process/LastQueryMergeNode.java      |   16 +-
 .../plan/planner/plan/node/process/LimitNode.java  |    8 +
 .../plan/planner/plan/node/process/OffsetNode.java |    8 +
 .../planner/plan/node/process/ProjectNode.java     |   11 +
 .../node/process/SlidingWindowAggregationNode.java |   18 +
 .../plan/planner/plan/node/process/SortNode.java   |    8 +
 .../planner/plan/node/process/TimeJoinNode.java    |    8 +
 .../planner/plan/node/process/TransformNode.java   |   13 +
 .../planner/plan/node/sink/FragmentSinkNode.java   |   11 +
 .../plan/node/source/AlignedLastQueryScanNode.java |   12 +-
 .../source/AlignedSeriesAggregationScanNode.java   |   35 +
 .../plan/node/source/AlignedSeriesScanNode.java    |   27 +-
 .../plan/node/source/LastQueryScanNode.java        |    8 +
 .../node/source/SeriesAggregationScanNode.java     |   26 +
 .../planner/plan/node/source/SeriesScanNode.java   |   23 +
 .../planner/plan/node/write/DeleteDataNode.java    |   13 +
 .../plan/node/write/InsertMultiTabletsNode.java    |   21 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   20 +-
 .../planner/plan/node/write/InsertRowNode.java     |   94 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   21 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   24 +-
 .../planner/plan/node/write/InsertTabletNode.java  |  165 ++-
 .../plan/parameter/AggregationDescriptor.java      |   14 +
 .../planner/plan/parameter/AggregationStep.java    |    7 +
 .../planner/plan/parameter/FillDescriptor.java     |    9 +
 .../plan/parameter/FilterNullParameter.java        |   10 +
 .../plan/parameter/GroupByLevelDescriptor.java     |    8 +
 .../plan/parameter/GroupByTimeParameter.java       |   25 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |   12 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |    9 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   63 +-
 .../scheduler/SimpleFragInstanceDispatcher.java    |   89 --
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |   90 +-
 .../db/mpp/plan/statement/StatementVisitor.java    |    5 +
 .../mpp/plan/statement/literal/BooleanLiteral.java |    8 +
 .../mpp/plan/statement/literal/DoubleLiteral.java  |    8 +
 .../db/mpp/plan/statement/literal/Literal.java     |    4 +
 .../db/mpp/plan/statement/literal/LongLiteral.java |    8 +
 .../db/mpp/plan/statement/literal/NullLiteral.java |    7 +
 .../mpp/plan/statement/literal/StringLiteral.java  |    8 +
 .../db/mpp/plan/statement/sys/FlushStatement.java  |   92 ++
 .../dag/transformer/unary/InTransformer.java       |   14 +-
 .../dag/transformer/unary/RegularTransformer.java  |    4 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |    9 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   13 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |    2 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |   26 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    2 +-
 .../db/qp/physical/sys/CreateTriggerPlan.java      |    2 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   14 +-
 .../db/query/control/SessionTimeoutManager.java    |    4 +-
 .../query/reader/chunk/MemAlignedPageReader.java   |   52 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |  127 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   37 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    9 +-
 .../iotdb/db/service/{IoTDB.java => NewIoTDB.java} |   87 +-
 .../org/apache/iotdb/db/service/NewIoTDBMBean.java |    9 +-
 .../db/service/basic/QueryFrequencyRecorder.java   |    4 +-
 .../iotdb/db/service/metrics/enums/Metric.java     |    1 +
 .../metrics/recorder/CacheMetricsRecorder.java     |   65 +
 .../recorder/CompactionMetricsRecorder.java}       |   20 +-
 .../thrift/impl/DataNodeTSIServiceImpl.java        |   99 +-
 .../service/thrift/impl/InternalServiceImpl.java   |  242 ++--
 .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java |    4 +
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |   12 +
 .../iotdb/db/sync/sender/service/MsgManager.java   |    2 +-
 .../db/sync/sender/service/SenderService.java      |    5 +
 .../db/sync/sender/service/TransportHandler.java   |   21 +-
 .../db/sync/transport/client/ClientWrapper.java    |  125 ++
 .../db/sync/transport/client/ITransportClient.java |    2 +
 .../db/sync/transport/client/TransportClient.java  |  258 ++--
 .../transport/server/TransportServiceImpl.java     |   29 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   22 +-
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |   12 +-
 .../iotdb/db/auth/AuthorizerManagerTest.java       |   38 +-
 .../db/mpp/aggregation/TimeRangeIteratorTest.java  |   22 +-
 .../db/mpp/common/schematree/SchemaTreeTest.java   |   13 +
 .../db/mpp/execution/ConfigExecutionTest.java      |    7 +-
 .../datatransfer/LocalSourceHandleTest.java        |    2 +-
 .../db/mpp/plan/StandaloneCoordinatorTest.java     |  149 ++
 .../mpp/plan/plan/FragmentInstanceSerdeTest.java   |   15 +-
 .../distribution/NoDataRegionPlanningTest.java     |   84 ++
 .../node/process/GroupByLevelNodeSerdeTest.java    |   12 +-
 .../plan/node/write/DeleteRegionNodeSerdeTest.java |   60 -
 .../plan/scheduler/StandaloneSchedulerTest.java    |  518 +++++++
 .../iotdb/db/service/InternalServiceImplTest.java  |   95 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   16 +-
 thrift-commons/src/main/thrift/common.thrift       |    6 +
 .../src/main/thrift/confignode.thrift              |   31 +-
 .../src/main/thrift/mutlileader.thrift             |    8 +-
 thrift/src/main/thrift/mpp.thrift                  |   56 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |   15 +-
 .../block/column/BinaryArrayColumnEncoder.java     |    5 +-
 .../block/column/ByteArrayColumnEncoder.java       |    5 +-
 .../read/common/block/column/ColumnEncoder.java    |    9 +-
 .../common/block/column/ColumnEncoderFactory.java  |    3 +-
 .../read/common/block/column/ColumnEncoding.java   |    6 +-
 .../block/column/Int32ArrayColumnEncoder.java      |    8 +-
 .../block/column/Int64ArrayColumnEncoder.java      |   21 +-
 .../block/column/RunLengthColumnEncoder.java       |   54 +
 .../block/column/RunLengthEncodedColumn.java       |    2 +-
 .../read/common/block/column/TsBlockSerde.java     |   19 +-
 .../java/org/apache/iotdb/tsfile/utils/Pair.java   |    8 +
 .../common/block/BinaryArrayColumnEncoderTest.java |    8 +-
 .../common/block/ByteArrayColumnEncoderTest.java   |    9 +-
 .../common/block/Int32ArrayColumnEncoderTest.java  |   15 +-
 .../common/block/Int64ArrayColumnEncoderTest.java  |   17 +-
 ...erTest.java => RunLengthColumnEncoderTest.java} |   75 +-
 495 files changed, 22436 insertions(+), 9499 deletions(-)

diff --cc 
cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
index d7e0f61491,d23bfdded0..d65e060da9
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
@@@ -33,7 -33,9 +33,8 @@@ import org.apache.iotdb.cluster.log.Sta
  import org.apache.iotdb.cluster.log.manage.serializable.LogManagerMeta;
  import org.apache.iotdb.cluster.server.monitor.Timer.Statistic;
  import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
+ import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
  import org.apache.iotdb.commons.utils.TestOnly;
 -import org.apache.iotdb.tsfile.utils.RamUsageEstimator;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
diff --cc 
server/src/main/java/org/apache/iotdb/db/service/basic/QueryFrequencyRecorder.java
index 4934992fdd,5c4290f4c4..b46cbb13b0
--- 
a/server/src/main/java/org/apache/iotdb/db/service/basic/QueryFrequencyRecorder.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/service/basic/QueryFrequencyRecorder.java
@@@ -19,8 -19,8 +19,9 @@@
  package org.apache.iotdb.db.service.basic;
  
  import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
+ import org.apache.iotdb.commons.concurrent.threadpool.ScheduledExecutorUtil;
  import org.apache.iotdb.db.conf.IoTDBConfig;
 +import org.apache.iotdb.db.conf.IoTDBDescriptor;
  
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
@@@ -34,22 -34,11 +35,23 @@@ public class QueryFrequencyRecorder 
    private static final Logger QUERY_FREQUENCY_LOGGER = 
LoggerFactory.getLogger("QUERY_FREQUENCY");
    private static final AtomicInteger QUERY_COUNT = new AtomicInteger(0);
  
 -  public QueryFrequencyRecorder(IoTDBConfig config) {
 +  public static QueryFrequencyRecorder getInstance() {
 +    return QueryFrequencyRecorder.InstanceHolder.instance;
 +  }
 +
 +  private static class InstanceHolder {
 +
 +    private InstanceHolder() {}
 +
 +    private static QueryFrequencyRecorder instance =
 +        new QueryFrequencyRecorder(IoTDBDescriptor.getInstance().getConfig());
 +  }
 +
 +  private QueryFrequencyRecorder(IoTDBConfig config) {
      ScheduledExecutorService timedQuerySqlCountThread =
          
IoTDBThreadPoolFactory.newSingleThreadScheduledExecutor("timedQuerySqlCount");
-     timedQuerySqlCountThread.scheduleAtFixedRate(
+     ScheduledExecutorUtil.safelyScheduleAtFixedRate(
+         timedQuerySqlCountThread,
          () -> {
            if (QUERY_COUNT.get() != 0) {
              QUERY_FREQUENCY_LOGGER.info(
diff --cc service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index c84dfdc56c,90a36ede1d..49dbee4b38
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@@ -119,8 -118,10 +119,10 @@@ public enum TSStatusCode 
    NEED_REDIRECTION(707),
    PARSE_LOG_ERROR(708),
    ALL_RETRY_FAILED(709),
-   LEADER_CHANGED(710),
- 
+   MIGRATE_REGION_ERROR(710),
+   CREATE_REGION_ERROR(711),
+   DELETE_REGION_ERROR(712),
 -
++  LEADER_CHANGED(713),
    // configuration
    CONFIG_ERROR(800),
  

Reply via email to