This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch tsfile_name in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 2d14053d1f505a1bdee03cce53f0d0680ae32147 Merge: 1ba3f11060 0b130fd462 Author: qiaojialin <[email protected]> AuthorDate: Wed Jul 6 17:33:30 2022 +0800 merge master .github/workflows/cluster-it.yml | 79 + .github/workflows/cluster.yml | 52 - .github/workflows/main-unix.yml | 3 +- .github/workflows/main-win.yml | 14 +- .github/workflows/sonar-coveralls.yml | 2 +- .github/workflows/standalone-it-for-mpp.yml | 81 + README.md | 18 +- README_ZH.md | 17 +- RELEASE_NOTES.md | 132 + .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 7 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 32 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 26 +- checkstyle.xml | 30 +- client-cpp/README.md | 2 +- client-cpp/pom.xml | 4 +- client-cpp/src/main/Session.cpp | 4 +- client-cpp/src/main/Session.h | 8 +- client-py/README.md | 236 + client-py/SessionExample.py | 98 + client-py/iotdb/Session.py | 314 +- client-py/iotdb/dbapi/Connection.py | 91 + client-py/iotdb/dbapi/Cursor.py | 288 + client-py/iotdb/dbapi/Exceptions.py | 61 + client-py/iotdb/dbapi/__init__.py | 26 + client-py/iotdb/dbapi/tests/__init__.py | 17 + client-py/iotdb/dbapi/tests/test_connection.py | 57 + client-py/iotdb/dbapi/tests/test_cursor.py | 123 + client-py/iotdb/sqlalchemy/IoTDBDialect.py | 136 + .../iotdb/sqlalchemy/IoTDBIdentifierPreparer.py | 27 + client-py/iotdb/sqlalchemy/IoTDBSQLCompiler.py | 243 + client-py/iotdb/sqlalchemy/IoTDBTypeCompiler.py | 45 + client-py/iotdb/sqlalchemy/__init__.py | 17 + client-py/iotdb/sqlalchemy/tests/__init__.py | 17 + client-py/iotdb/sqlalchemy/tests/test_dialect.py | 92 + client-py/iotdb/template/InternalNode.py | 41 + client-py/iotdb/template/MeasurementNode.py | 56 + client-py/iotdb/template/Template.py | 87 + client-py/iotdb/template/TemplateNode.py | 47 + client-py/iotdb/template/TemplateQueryType.py | 39 + client-py/iotdb/template/__init__.py | 17 + client-py/iotdb/tsfile/__init__.py | 17 + client-py/iotdb/tsfile/common/__init__.py | 17 + .../iotdb/tsfile/common/constant/TsFileConstant.py | 36 + client-py/iotdb/tsfile/common/constant/__init__.py | 17 + client-py/iotdb/tsfile/utils/Pair.py | 24 + client-py/iotdb/tsfile/utils/ReadWriteIOUtils.py | 77 + client-py/iotdb/tsfile/utils/__init__.py | 17 + client-py/iotdb/utils/IoTDBRpcDataSet.py | 2 +- client-py/requirements.txt | 5 +- client-py/setup.py | 7 + client-py/tests/test_dataframe.py | 2 + client-py/tests/test_one_device.py | 1 + client-py/tests/test_tablet.py | 2 + client-py/tests/test_template.py | 195 + client-py/tests/test_todf.py | 3 + cluster/pom.xml | 228 - cluster/src/assembly/cluster.xml | 35 - .../resources/conf/iotdb-cluster.properties | 200 - cluster/src/assembly/resources/sbin/add-node.bat | 133 - cluster/src/assembly/resources/sbin/add-node.sh | 95 - cluster/src/assembly/resources/sbin/nodetool.bat | 58 - cluster/src/assembly/resources/sbin/nodetool.sh | 48 - .../src/assembly/resources/sbin/remove-node.bat | 110 - cluster/src/assembly/resources/sbin/remove-node.sh | 72 - cluster/src/assembly/resources/sbin/start-node.bat | 136 - cluster/src/assembly/resources/sbin/start-node.sh | 97 - cluster/src/assembly/resources/sbin/stop-node.bat | 27 - cluster/src/assembly/resources/sbin/stop-node.sh | 39 - .../java/org/apache/iotdb/cluster/ClientMain.java | 469 -- .../iotdb/cluster/ClusterFileFlushPolicy.java | 75 - .../org/apache/iotdb/cluster/ClusterIoTDB.java | 672 -- .../apache/iotdb/cluster/ClusterIoTDBMBean.java | 36 - .../cluster/ClusterIoTDBServerCommandLine.java | 94 - .../apache/iotdb/cluster/RemoteTsFileResource.java | 150 - .../apache/iotdb/cluster/client/BaseFactory.java | 54 - .../iotdb/cluster/client/ClientCategory.java | 38 - .../apache/iotdb/cluster/client/ClientManager.java | 223 - .../iotdb/cluster/client/ClientPoolFactory.java | 101 - .../iotdb/cluster/client/IClientManager.java | 35 - .../cluster/client/async/AsyncBaseFactory.java | 68 - .../cluster/client/async/AsyncDataClient.java | 218 - .../cluster/client/async/AsyncMetaClient.java | 178 - .../cluster/client/sync/SyncClientAdaptor.java | 527 -- .../iotdb/cluster/client/sync/SyncDataClient.java | 154 - .../iotdb/cluster/client/sync/SyncMetaClient.java | 144 - .../apache/iotdb/cluster/config/ClusterConfig.java | 584 -- .../iotdb/cluster/config/ClusterConstant.java | 144 - .../iotdb/cluster/config/ClusterDescriptor.java | 418 -- .../iotdb/cluster/config/ConsistencyLevel.java | 67 - .../iotdb/cluster/coordinator/Coordinator.java | 807 --- .../iotdb/cluster/exception/AddSelfException.java | 28 - .../exception/BadSeedUrlFormatException.java | 30 - .../exception/ChangeMembershipException.java | 28 - .../exception/CheckConsistencyException.java | 37 - .../exception/ConfigInconsistentException.java | 29 - .../cluster/exception/EmptyIntervalException.java | 28 - .../cluster/exception/EntryCompactedException.java | 30 - .../exception/EntryUnavailableException.java | 28 - .../GetEntriesWrongParametersException.java | 27 - .../cluster/exception/LeaderUnknownException.java | 31 - .../cluster/exception/LogExecutionException.java | 27 - .../cluster/exception/MemberReadOnlyException.java | 33 - .../cluster/exception/NoHeaderNodeException.java | 31 - .../cluster/exception/NotInSameGroupException.java | 32 - .../cluster/exception/NotManagedSlotException.java | 33 - .../PartitionTableUnavailableException.java | 30 - .../iotdb/cluster/exception/PullFileException.java | 34 - .../cluster/exception/QueryTimeOutException.java | 27 - .../cluster/exception/ReaderNotFoundException.java | 27 - .../cluster/exception/RequestTimeOutException.java | 34 - .../exception/SnapshotInstallationException.java | 37 - .../exception/StartUpCheckFailureException.java | 31 - .../exception/TruncateCommittedEntryException.java | 30 - .../cluster/exception/UnknownLogTypeException.java | 28 - .../exception/UnsupportedPlanException.java | 29 - .../iotdb/cluster/log/CommitLogCallback.java | 48 - .../apache/iotdb/cluster/log/CommitLogTask.java | 65 - .../org/apache/iotdb/cluster/log/HardState.java | 114 - .../java/org/apache/iotdb/cluster/log/Log.java | 145 - .../org/apache/iotdb/cluster/log/LogApplier.java | 35 - .../apache/iotdb/cluster/log/LogDispatcher.java | 461 -- .../org/apache/iotdb/cluster/log/LogParser.java | 110 - .../org/apache/iotdb/cluster/log/Snapshot.java | 75 - .../iotdb/cluster/log/StableEntryManager.java | 61 - .../cluster/log/applier/AsyncDataLogApplier.java | 302 - .../iotdb/cluster/log/applier/BaseApplier.java | 263 - .../iotdb/cluster/log/applier/DataLogApplier.java | 185 - .../iotdb/cluster/log/applier/MetaLogApplier.java | 90 - .../iotdb/cluster/log/catchup/CatchUpTask.java | 403 -- .../iotdb/cluster/log/catchup/LogCatchUpTask.java | 350 - .../cluster/log/catchup/SnapshotCatchUpTask.java | 159 - .../iotdb/cluster/log/logtypes/AddNodeLog.java | 136 - .../iotdb/cluster/log/logtypes/CloseFileLog.java | 124 - .../cluster/log/logtypes/EmptyContentLog.java | 63 - .../iotdb/cluster/log/logtypes/LargeTestLog.java | 78 - .../cluster/log/logtypes/PhysicalPlanLog.java | 115 - .../iotdb/cluster/log/logtypes/RemoveNodeLog.java | 131 - .../cluster/log/manage/CommittedEntryManager.java | 301 - .../manage/FilePartitionedSnapshotLogManager.java | 259 - .../log/manage/MetaSingleSnapshotLogManager.java | 93 - .../log/manage/PartitionedSnapshotLogManager.java | 137 - .../iotdb/cluster/log/manage/RaftLogManager.java | 1035 --- .../log/manage/UnCommittedEntryManager.java | 276 - .../log/manage/serializable/LogManagerMeta.java | 143 - .../serializable/SyncLogDequeSerializer.java | 1407 ---- .../iotdb/cluster/log/snapshot/FileSnapshot.java | 641 -- .../cluster/log/snapshot/MetaSimpleSnapshot.java | 342 - .../cluster/log/snapshot/PartitionedSnapshot.java | 223 - .../cluster/log/snapshot/PullSnapshotTask.java | 269 - .../log/snapshot/PullSnapshotTaskDescriptor.java | 135 - .../cluster/log/snapshot/SnapshotFactory.java | 28 - .../cluster/log/snapshot/SnapshotInstaller.java | 33 - .../log/snapshot/TimeseriesSchemaSnapshot.java | 31 - .../iotdb/cluster/metadata/CSchemaProcessor.java | 1741 ----- .../apache/iotdb/cluster/metadata/MetaPuller.java | 452 -- .../cluster/partition/NodeAdditionResult.java | 37 - .../iotdb/cluster/partition/NodeRemovalResult.java | 61 - .../iotdb/cluster/partition/PartitionGroup.java | 109 - .../iotdb/cluster/partition/PartitionTable.java | 154 - .../partition/balancer/DefaultSlotBalancer.java | 121 - .../cluster/partition/balancer/SlotBalancer.java | 43 - .../iotdb/cluster/partition/slot/SlotManager.java | 402 -- .../partition/slot/SlotNodeAdditionResult.java | 40 - .../partition/slot/SlotNodeRemovalResult.java | 79 - .../cluster/partition/slot/SlotPartitionTable.java | 611 -- .../iotdb/cluster/partition/slot/SlotStrategy.java | 48 - .../partition/slot/SlotTimePartitionFilter.java | 56 - .../cluster/query/ClusterDataQueryExecutor.java | 325 - .../cluster/query/ClusterPhysicalGenerator.java | 106 - .../iotdb/cluster/query/ClusterPlanExecutor.java | 923 --- .../iotdb/cluster/query/ClusterPlanRouter.java | 507 -- .../apache/iotdb/cluster/query/ClusterPlanner.java | 35 - .../iotdb/cluster/query/ClusterQueryRouter.java | 109 - .../cluster/query/ClusterUDTFQueryExecutor.java | 103 - .../iotdb/cluster/query/LocalQueryExecutor.java | 1066 --- .../iotdb/cluster/query/RemoteQueryContext.java | 73 - .../query/aggregate/ClusterAggregateExecutor.java | 107 - .../cluster/query/aggregate/ClusterAggregator.java | 292 - .../cluster/query/fill/ClusterFillExecutor.java | 104 - .../cluster/query/fill/ClusterLinearFill.java | 80 - .../cluster/query/fill/ClusterPreviousFill.java | 269 - .../cluster/query/fill/PreviousFillArguments.java | 70 - .../iotdb/cluster/query/filter/SlotSgFilter.java | 47 - .../cluster/query/filter/SlotTsFileFilter.java | 69 - .../groupby/ClusterGroupByNoVFilterDataSet.java | 61 - .../groupby/ClusterGroupByVFilterDataSet.java | 75 - .../query/groupby/MergeGroupByExecutor.java | 143 - .../query/groupby/RemoteGroupByExecutor.java | 176 - .../query/last/ClusterLastQueryExecutor.java | 296 - .../cluster/query/manage/ClusterQueryManager.java | 129 - .../query/manage/ClusterSessionManager.java | 138 - .../cluster/query/manage/QueryCoordinator.java | 66 - .../cluster/query/reader/ClusterReaderFactory.java | 1229 ---- .../cluster/query/reader/ClusterTimeGenerator.java | 217 - .../iotdb/cluster/query/reader/DataSourceInfo.java | 272 - .../iotdb/cluster/query/reader/EmptyReader.java | 172 - .../reader/ManagedDescPriorityMergeReader.java | 96 - .../query/reader/ManagedPriorityMergeReader.java | 94 - .../cluster/query/reader/MergedReaderByTime.java | 47 - .../reader/RemoteSeriesReaderByTimestamp.java | 122 - .../query/reader/RemoteSimpleSeriesReader.java | 167 - .../query/reader/mult/AbstractMultPointReader.java | 70 - .../mult/AssignPathAscPriorityMergeReader.java | 49 - .../mult/AssignPathDescPriorityMergeReader.java | 49 - .../reader/mult/AssignPathManagedMergeReader.java | 121 - .../query/reader/mult/IMultBatchReader.java | 31 - .../cluster/query/reader/mult/MultBatchReader.java | 74 - .../query/reader/mult/MultDataSourceInfo.java | 270 - .../cluster/query/reader/mult/MultElement.java | 49 - .../cluster/query/reader/mult/MultEmptyReader.java | 52 - .../reader/mult/MultSeriesRawDataPointReader.java | 55 - .../query/reader/mult/RemoteMultSeriesReader.java | 227 - .../iotdb/cluster/server/ClusterRPCService.java | 110 - .../cluster/server/ClusterRPCServiceMBean.java | 35 - .../iotdb/cluster/server/ClusterTSServiceImpl.java | 47 - .../iotdb/cluster/server/HardLinkCleaner.java | 110 - .../apache/iotdb/cluster/server/NodeCharacter.java | 28 - .../cluster/server/PullSnapshotHintService.java | 179 - .../org/apache/iotdb/cluster/server/Response.java | 63 - .../iotdb/cluster/server/StoppedMemberManager.java | 160 - .../server/basic/ClusterServiceProvider.java | 95 - .../server/clusterinfo/ClusterInfoServer.java | 90 - .../server/clusterinfo/ClusterInfoServerMBean.java | 22 - .../server/clusterinfo/ClusterInfoServiceImpl.java | 71 - .../ClusterInfoServiceThriftHandler.java | 55 - .../handlers/caller/AppendGroupEntryHandler.java | 157 - .../handlers/caller/AppendNodeEntryHandler.java | 187 - .../server/handlers/caller/ElectionHandler.java | 167 - .../server/handlers/caller/GenericHandler.java | 94 - .../caller/GetChildNodeNextLevelHandler.java | 59 - .../caller/GetChildNodeNextLevelPathHandler.java | 60 - .../server/handlers/caller/GetDevicesHandler.java | 60 - .../handlers/caller/GetNodesListHandler.java | 59 - .../caller/GetTimeseriesSchemaHandler.java | 59 - .../server/handlers/caller/HeartbeatHandler.java | 156 - .../server/handlers/caller/JoinClusterHandler.java | 65 - .../server/handlers/caller/LogCatchUpHandler.java | 115 - .../handlers/caller/LogCatchUpInBatchHandler.java | 111 - .../server/handlers/caller/NodeStatusHandler.java | 59 - .../handlers/caller/PreviousFillHandler.java | 101 - .../caller/PullMeasurementSchemaHandler.java | 78 - .../handlers/caller/PullSnapshotHandler.java | 81 - .../caller/PullTimeseriesSchemaHandler.java | 73 - .../handlers/caller/ShowTimeSeriesHandler.java | 121 - .../handlers/caller/SnapshotCatchUpHandler.java | 61 - .../server/handlers/caller/package-info.java | 21 - .../handlers/forwarder/ForwardPlanHandler.java | 68 - .../server/heartbeat/DataHeartbeatThread.java | 68 - .../cluster/server/heartbeat/HeartbeatThread.java | 443 -- .../server/heartbeat/MetaHeartbeatThread.java | 96 - .../cluster/server/member/DataGroupMember.java | 1164 ---- .../server/member/DataGroupMemberMBean.java | 25 - .../cluster/server/member/MetaGroupMember.java | 1954 ------ .../server/member/MetaGroupMemberMBean.java | 35 - .../iotdb/cluster/server/member/RaftMember.java | 2219 ------- .../cluster/server/member/RaftMemberMBean.java | 53 - .../iotdb/cluster/server/member/package-info.java | 24 - .../iotdb/cluster/server/monitor/NodeReport.java | 268 - .../iotdb/cluster/server/monitor/NodeStatus.java | 118 - .../cluster/server/monitor/NodeStatusManager.java | 183 - .../apache/iotdb/cluster/server/monitor/Peer.java | 70 - .../apache/iotdb/cluster/server/monitor/Timer.java | 337 - .../server/raft/AbstractDataRaftService.java | 54 - .../server/raft/AbstractMetaRaftService.java | 52 - .../cluster/server/raft/AbstractRaftService.java | 76 - .../server/raft/DataRaftHeartBeatService.java | 62 - .../server/raft/DataRaftHeartBeatServiceMBean.java | 22 - .../iotdb/cluster/server/raft/DataRaftService.java | 59 - .../cluster/server/raft/DataRaftServiceMBean.java | 22 - .../server/raft/MetaRaftHeartBeatService.java | 62 - .../server/raft/MetaRaftHeartBeatServiceMBean.java | 22 - .../iotdb/cluster/server/raft/MetaRaftService.java | 59 - .../cluster/server/raft/MetaRaftServiceMBean.java | 22 - .../cluster/server/raft/RaftServiceHandler.java | 43 - .../cluster/server/service/BaseAsyncService.java | 176 - .../cluster/server/service/BaseSyncService.java | 181 - .../cluster/server/service/DataAsyncService.java | 503 -- .../cluster/server/service/DataGroupEngine.java | 510 -- .../server/service/DataGroupEngineMBean.java | 31 - .../server/service/DataGroupServiceImpls.java | 749 --- .../cluster/server/service/DataSyncService.java | 458 -- .../cluster/server/service/MetaAsyncService.java | 255 - .../cluster/server/service/MetaSyncService.java | 253 - .../iotdb/cluster/server/service/package-info.java | 24 - .../apache/iotdb/cluster/utils/ClientUtils.java | 66 - .../iotdb/cluster/utils/ClusterConsistent.java | 30 - .../apache/iotdb/cluster/utils/ClusterNode.java | 86 - .../iotdb/cluster/utils/ClusterQueryUtils.java | 84 - .../apache/iotdb/cluster/utils/ClusterUtils.java | 376 -- .../org/apache/iotdb/cluster/utils/IOUtils.java | 88 - .../iotdb/cluster/utils/NodeSerializeUtils.java | 92 - .../apache/iotdb/cluster/utils/PartitionUtils.java | 184 - .../apache/iotdb/cluster/utils/PlanSerializer.java | 59 - .../apache/iotdb/cluster/utils/StatusUtils.java | 228 - .../cluster/utils/nodetool/ClusterMonitor.java | 323 - .../utils/nodetool/ClusterMonitorMBean.java | 85 - .../iotdb/cluster/utils/nodetool/NodeTool.java | 52 - .../iotdb/cluster/utils/nodetool/Printer.java | 38 - .../cluster/utils/nodetool/function/Header.java | 60 - .../cluster/utils/nodetool/function/LogView.java | 88 - .../cluster/utils/nodetool/function/Migration.java | 59 - .../utils/nodetool/function/NodeToolCmd.java | 145 - .../cluster/utils/nodetool/function/Partition.java | 102 - .../cluster/utils/nodetool/function/Ring.java | 50 - .../cluster/utils/nodetool/function/Slot.java | 63 - .../cluster/utils/nodetool/function/Status.java | 63 - .../iotdb/cluster/client/BaseClientTest.java | 156 - .../iotdb/cluster/client/ClientManagerTest.java | 212 - .../cluster/client/ClientPoolFactoryTest.java | 293 - .../iotdb/cluster/client/MockClientManager.java | 47 - .../cluster/client/async/AsyncDataClientTest.java | 79 - .../cluster/client/async/AsyncMetaClientTest.java | 78 - .../cluster/client/sync/SyncClientAdaptorTest.java | 464 -- .../cluster/client/sync/SyncDataClientTest.java | 110 - .../cluster/client/sync/SyncMetaClientTest.java | 110 - .../org/apache/iotdb/cluster/common/IoTDBTest.java | 176 - .../iotdb/cluster/common/TestAsyncClient.java | 53 - .../iotdb/cluster/common/TestAsyncDataClient.java | 304 - .../iotdb/cluster/common/TestAsyncMetaClient.java | 50 - .../iotdb/cluster/common/TestDataGroupMember.java | 45 - .../apache/iotdb/cluster/common/TestException.java | 27 - .../org/apache/iotdb/cluster/common/TestLog.java | 67 - .../iotdb/cluster/common/TestLogApplier.java | 66 - .../iotdb/cluster/common/TestLogManager.java | 39 - .../cluster/common/TestManagedSeriesReader.java | 96 - .../iotdb/cluster/common/TestMetaGroupMember.java | 39 - .../cluster/common/TestPartitionedLogManager.java | 54 - .../apache/iotdb/cluster/common/TestSnapshot.java | 110 - .../iotdb/cluster/common/TestSyncClient.java | 47 - .../org/apache/iotdb/cluster/common/TestUtils.java | 439 -- .../cluster/integration/BaseSingleNodeTest.java | 90 - .../iotdb/cluster/integration/SingleNodeTest.java | 131 - .../iotdb/cluster/log/CommitLogCallbackTest.java | 53 - .../iotdb/cluster/log/CommitLogTaskTest.java | 78 - .../apache/iotdb/cluster/log/HardStateTest.java | 49 - .../iotdb/cluster/log/LogDispatcherTest.java | 269 - .../apache/iotdb/cluster/log/LogParserTest.java | 122 - .../log/applier/AsyncDataLogApplierTest.java | 174 - .../cluster/log/applier/DataLogApplierTest.java | 499 -- .../cluster/log/applier/MetaLogApplierTest.java | 135 - .../iotdb/cluster/log/catchup/CatchUpTaskTest.java | 398 -- .../cluster/log/catchup/LogCatchUpTaskTest.java | 301 - .../log/catchup/SnapshotCatchUpTaskTest.java | 282 - .../cluster/log/logtypes/SerializeLogTest.java | 146 - .../log/manage/CommittedEntryManagerTest.java | 625 -- .../FilePartitionedSnapshotLogManagerTest.java | 117 - .../manage/MetaSingleSnapshotLogManagerTest.java | 93 - .../cluster/log/manage/RaftLogManagerTest.java | 1889 ------ .../log/manage/UnCommittedEntryManagerTest.java | 695 -- .../serializable/SyncLogDequeSerializerTest.java | 612 -- .../cluster/log/snapshot/DataSnapshotTest.java | 196 - .../cluster/log/snapshot/FileSnapshotTest.java | 310 - .../log/snapshot/MetaSimpleSnapshotTest.java | 346 - .../log/snapshot/PartitionedSnapshotTest.java | 204 - .../snapshot/PullSnapshotTaskDescriptorTest.java | 64 - .../cluster/log/snapshot/PullSnapshotTaskTest.java | 337 - .../iotdb/cluster/log/snapshot/SimpleSnapshot.java | 132 - .../cluster/partition/SchemaProcessorWhiteBox.java | 54 - .../iotdb/cluster/partition/SlotManagerTest.java | 155 - .../cluster/partition/SlotPartitionTableTest.java | 546 -- .../apache/iotdb/cluster/query/BaseQueryTest.java | 125 - .../query/ClusterAggregateExecutorTest.java | 145 - .../query/ClusterDataQueryExecutorTest.java | 240 - .../query/ClusterPhysicalGeneratorTest.java | 72 - .../cluster/query/ClusterPlanExecutorTest.java | 112 - .../iotdb/cluster/query/ClusterPlannerTest.java | 55 - .../cluster/query/ClusterQueryRouterTest.java | 324 - .../query/ClusterUDTFQueryExecutorTest.java | 121 - .../iotdb/cluster/query/LoadConfigurationTest.java | 124 - .../query/fill/ClusterFillExecutorTest.java | 170 - .../ClusterGroupByNoVFilterDataSetTest.java | 90 - .../groupby/ClusterGroupByVFilterDataSetTest.java | 102 - .../query/groupby/MergeGroupByExecutorTest.java | 117 - .../query/groupby/RemoteGroupByExecutorTest.java | 171 - .../query/last/ClusterLastQueryExecutorTest.java | 95 - .../query/manage/ClusterQueryManagerTest.java | 182 - .../cluster/query/manage/QueryCoordinatorTest.java | 121 - .../query/reader/ClusterReaderFactoryTest.java | 85 - .../query/reader/ClusterTimeGeneratorTest.java | 134 - .../cluster/query/reader/DatasourceInfoTest.java | 112 - .../reader/RemoteSeriesReaderByTimestampTest.java | 269 - .../query/reader/RemoteSimpleSeriesReaderTest.java | 243 - .../mult/AssignPathManagedMergeReaderTest.java | 208 - .../mult/MultSeriesRawDataPointReaderTest.java | 67 - .../reader/mult/RemoteMultSeriesReaderTest.java | 346 - .../server/clusterinfo/ClusterInfoServerTest.java | 99 - .../clusterinfo/ClusterInfoServiceImplTest.java | 100 - .../caller/AppendGroupEntryHandlerTest.java | 188 - .../caller/AppendNodeEntryHandlerTest.java | 175 - .../handlers/caller/ElectionHandlerTest.java | 178 - .../server/handlers/caller/GenericHandlerTest.java | 58 - .../handlers/caller/HeartbeatHandlerTest.java | 121 - .../handlers/caller/JoinClusterHandlerTest.java | 67 - .../handlers/caller/LogCatchUpHandlerTest.java | 128 - .../caller/PullMeasurementSchemaHandlerTest.java | 92 - .../handlers/caller/PullSnapshotHandlerTest.java | 84 - .../caller/SnapshotCatchUpHandlerTest.java | 58 - .../handlers/forwarder/ForwardPlanHandlerTest.java | 59 - .../server/heartbeat/DataHeartbeatThreadTest.java | 160 - .../server/heartbeat/HeartbeatThreadTest.java | 244 - .../server/heartbeat/MetaHeartbeatThreadTest.java | 244 - .../iotdb/cluster/server/member/BaseMember.java | 328 - .../cluster/server/member/DataGroupMemberTest.java | 1255 ---- .../cluster/server/member/MetaGroupMemberTest.java | 1488 ----- .../cluster/server/member/RaftMemberTest.java | 246 - .../org/apache/iotdb/cluster/utils/Constants.java | 24 - .../cluster/utils/CreateTemplatePlanUtil.java | 74 - .../iotdb/cluster/utils/SerializeUtilTest.java | 210 - cluster/src/test/resources/logback-test.xml | 41 - .../resources/node1conf/iotdb-cluster.properties | 37 - .../resources/node1conf/iotdb-engine.properties | 30 - .../src/test/resources/node1conf/iotdb-metric.yml | 21 - cluster/src/test/resources/node1conf/logback.xml | 282 - .../resources/node2conf/iotdb-cluster.properties | 37 - .../resources/node2conf/iotdb-engine.properties | 30 - .../src/test/resources/node2conf/iotdb-metric.yml | 21 - cluster/src/test/resources/node2conf/logback.xml | 282 - .../resources/node3conf/iotdb-cluster.properties | 37 - .../resources/node3conf/iotdb-engine.properties | 30 - .../src/test/resources/node3conf/iotdb-metric.yml | 21 - cluster/src/test/resources/node3conf/logback.xml | 282 - confignode/pom.xml | 44 +- confignode/src/assembly/confignode.xml | 4 + .../src/assembly/resources/conf/confignode-env.bat | 8 +- .../resources/conf/iotdb-confignode.properties | 93 +- confignode/src/assembly/resources/conf/logback.xml | 2 +- .../assembly/resources/sbin/remove-confignode.sh | 79 + .../assembly/resources/sbin/stop-confignode.bat | 10 +- .../src/assembly/resources/sbin/stop-confignode.sh | 6 +- .../client/AsyncConfigNodeClientPool.java | 72 + .../confignode/client/AsyncDataNodeClientPool.java | 65 +- .../client/ConfigNodeClientPoolFactory.java | 4 +- .../client/SyncConfigNodeClientPool.java | 119 +- .../confignode/client/SyncDataNodeClientPool.java | 43 +- .../handlers/ConfigNodeHeartbeatHandler.java | 57 + .../client/handlers/DataNodeHeartbeatHandler.java | 81 + .../confignode/client/handlers/FlushHandler.java | 66 + .../client/handlers/FunctionManagementHandler.java | 4 +- .../client/handlers/HeartbeatHandler.java | 49 - .../confignode/client/handlers/SetTTLHandler.java | 58 + .../iotdb/confignode/conf/ConfigNodeConf.java | 451 -- .../iotdb/confignode/conf/ConfigNodeConfig.java | 431 ++ .../iotdb/confignode/conf/ConfigNodeConstant.java | 8 - .../confignode/conf/ConfigNodeDescriptor.java | 73 +- .../confignode/conf/ConfigNodeRemoveCheck.java | 104 + .../confignode/conf/ConfigNodeStartupCheck.java | 297 +- .../confignode/conf/SystemPropertiesUtils.java | 270 + .../consensus/request/ConfigPhysicalPlan.java | 219 + .../consensus/request/ConfigPhysicalPlanType.java | 70 + .../consensus/request/ConfigRequest.java | 212 - .../consensus/request/ConfigRequestType.java | 65 - .../consensus/request/auth/AuthorPlan.java | 256 + .../consensus/request/auth/AuthorReq.java | 248 - .../request/read/CountStorageGroupPlan.java | 88 + .../request/read/CountStorageGroupReq.java | 86 - .../request/read/GetDataNodeInfoPlan.java | 70 + .../consensus/request/read/GetDataNodeInfoReq.java | 68 - .../request/read/GetDataPartitionPlan.java | 153 + .../request/read/GetDataPartitionReq.java | 146 - .../request/read/GetNodePathsPartitionPlan.java | 84 + .../request/read/GetNodePathsPartitionReq.java | 83 - .../request/read/GetOrCreateDataPartitionPlan.java | 28 + .../request/read/GetOrCreateDataPartitionReq.java | 28 - .../read/GetOrCreateSchemaPartitionPlan.java | 28 + .../read/GetOrCreateSchemaPartitionReq.java | 28 - .../request/read/GetRegionInfoListPlan.java | 62 + .../request/read/GetSchemaPartitionPlan.java | 105 + .../request/read/GetSchemaPartitionReq.java | 103 - .../request/read/GetStorageGroupPlan.java | 34 + .../consensus/request/read/GetStorageGroupReq.java | 34 - .../request/write/ActivateDataNodePlan.java | 71 + .../write/AdjustMaxRegionGroupCountPlan.java | 89 + .../request/write/ApplyConfigNodePlan.java | 73 + .../request/write/ApplyConfigNodeReq.java | 71 - .../request/write/CreateDataPartitionPlan.java | 99 + .../request/write/CreateDataPartitionReq.java | 130 - .../request/write/CreateFunctionPlan.java | 86 + .../consensus/request/write/CreateFunctionReq.java | 85 - .../request/write/CreateRegionGroupsPlan.java | 102 + .../consensus/request/write/CreateRegionsReq.java | 98 - .../request/write/CreateSchemaPartitionPlan.java | 101 + .../request/write/CreateSchemaPartitionReq.java | 100 - .../request/write/DeleteProcedurePlan.java | 69 + .../request/write/DeleteProcedureReq.java | 68 - .../consensus/request/write/DeleteRegionsPlan.java | 93 + .../consensus/request/write/DeleteRegionsReq.java | 79 - .../request/write/DeleteStorageGroupPlan.java | 70 + .../request/write/DeleteStorageGroupReq.java | 69 - .../consensus/request/write/DropFunctionPlan.java | 57 + .../consensus/request/write/DropFunctionReq.java | 56 - .../request/write/PreDeleteStorageGroupPlan.java | 87 + .../request/write/PreDeleteStorageGroupReq.java | 86 - .../request/write/RegisterDataNodePlan.java | 71 + .../request/write/RegisterDataNodeReq.java | 69 - .../request/write/RemoveConfigNodePlan.java | 77 + .../write/SetDataReplicationFactorPlan.java | 81 + .../request/write/SetDataReplicationFactorReq.java | 80 - .../write/SetSchemaReplicationFactorPlan.java | 81 + .../write/SetSchemaReplicationFactorReq.java | 80 - .../request/write/SetStorageGroupPlan.java | 72 + .../request/write/SetStorageGroupReq.java | 71 - .../consensus/request/write/SetTTLPlan.java | 80 + .../consensus/request/write/SetTTLReq.java | 79 - .../write/SetTimePartitionIntervalPlan.java | 81 + .../request/write/SetTimePartitionIntervalReq.java | 80 - .../request/write/UpdateProcedurePlan.java | 74 + .../request/write/UpdateProcedureReq.java | 73 - .../consensus/response/DataNodeInfosResp.java | 11 + .../consensus/response/DataPartitionResp.java | 77 +- .../consensus/response/RegionInfoListResp.java | 49 + .../response/SchemaNodeManagementResp.java | 48 +- .../consensus/response/SchemaPartitionResp.java | 57 +- .../statemachine/PartitionRegionStateMachine.java | 36 +- .../confignode/exception/AddPeerException.java | 28 + .../exception/StorageGroupNotExistsException.java | 26 + .../confignode/exception/TimeoutException.java | 26 + .../physical/UnknownPhysicalPlanTypeException.java | 4 +- .../confignode/manager/ClusterSchemaManager.java | 274 +- .../iotdb/confignode/manager/ConfigManager.java | 564 +- .../iotdb/confignode/manager/ConsensusManager.java | 185 +- .../apache/iotdb/confignode/manager/IManager.java | 267 + .../apache/iotdb/confignode/manager/Manager.java | 225 - .../iotdb/confignode/manager/NodeManager.java | 259 +- .../iotdb/confignode/manager/PartitionManager.java | 581 +- .../confignode/manager/PermissionManager.java | 62 +- .../iotdb/confignode/manager/ProcedureManager.java | 31 +- .../iotdb/confignode/manager/UDFManager.java | 46 +- .../iotdb/confignode/manager/load/LoadManager.java | 403 +- .../manager/load/balancer/PartitionBalancer.java | 71 + .../manager/load/balancer/RegionBalancer.java | 62 +- .../manager/load/balancer/RouteBalancer.java | 66 + .../load/balancer/SeriesPartitionSlotBalancer.java | 21 - .../balancer/allocator/CopySetRegionAllocator.java | 168 - .../load/balancer/allocator/IRegionAllocator.java | 44 - .../partition/GreedyPartitionAllocator.java | 124 + .../balancer/partition/IPartitionAllocator.java | 53 + .../balancer/region/CopySetRegionAllocator.java | 159 + .../load/balancer/region/IRegionAllocator.java | 48 + .../manager/load/balancer/router/IRouter.java | 43 + .../manager/load/balancer/router/LeaderRouter.java | 94 + .../balancer/router/LoadScoreGreedyRouter.java | 80 + .../load/heartbeat/ConfigNodeHeartbeatCache.java | 97 + .../load/heartbeat/DataNodeHeartbeatCache.java | 104 + .../manager/load/heartbeat/HeartbeatCache.java | 51 - .../manager/load/heartbeat/HeartbeatPackage.java | 1 + .../manager/load/heartbeat/HeartbeatWindow.java | 51 - .../load/heartbeat/IHeartbeatStatistic.java | 19 +- .../manager/load/heartbeat/IRegionGroupCache.java | 37 + .../manager/load/heartbeat/RegionGroupCache.java | 47 + .../confignode/partition/DataPartitionRule.java | 50 - .../iotdb/confignode/persistence/AuthorInfo.java | 59 +- .../confignode/persistence/ClusterSchemaInfo.java | 300 +- .../iotdb/confignode/persistence/NodeInfo.java | 250 +- .../confignode/persistence/PartitionInfo.java | 645 -- .../confignode/persistence/ProcedureInfo.java | 12 +- .../iotdb/confignode/persistence/UDFInfo.java | 12 +- .../persistence/executor/ConfigPlanExecutor.java | 318 + .../executor/ConfigRequestExecutor.java | 310 - .../persistence/partition/PartitionInfo.java | 762 +++ .../persistence/partition/RegionGroup.java | 94 + .../partition/StorageGroupPartitionTable.java | 475 ++ .../procedure/CompletedProcedureRecycler.java | 3 - .../confignode/procedure/InternalProcedure.java | 3 - .../iotdb/confignode/procedure/Procedure.java | 47 +- .../confignode/procedure/ProcedureExecutor.java | 12 - .../procedure/StateMachineProcedure.java | 9 +- .../procedure/env/ConfigNodeProcedureEnv.java | 83 +- .../procedure/impl/AddConfigNodeProcedure.java | 193 + .../impl/DeleteStorageGroupProcedure.java | 20 +- .../procedure/state/AddConfigNodeState.java | 27 + .../procedure/store/ConfigProcedureStore.java | 16 +- .../procedure/store/ProcedureFactory.java | 9 +- .../confignode/procedure/store/ProcedureWAL.java | 12 +- .../iotdb/confignode/service/ConfigNode.java | 212 +- .../confignode/service/ConfigNodeCommandLine.java | 11 +- .../service/thrift/ConfigNodeRPCService.java | 26 +- .../thrift/ConfigNodeRPCServiceHandler.java | 22 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 277 +- .../iotdb/confignode/cli/TemporaryClientDemo.java | 76 - .../request/ConfigPhysicalPlanSerDeTest.java | 600 ++ .../consensus/request/ConfigRequestSerDeTest.java | 636 -- .../hash/DeviceGroupHashExecutorManualTest.java | 2 +- .../confignode/persistence/AuthorInfoTest.java | 180 +- .../persistence/ClusterSchemaInfoTest.java | 12 +- .../iotdb/confignode/persistence/NodeInfoTest.java | 22 +- .../confignode/persistence/PartitionInfoTest.java | 194 +- .../confignode/procedure/entity/IncProcedure.java | 8 +- .../procedure/entity/SleepProcedure.java | 8 +- .../procedure/entity/StuckSTMProcedure.java | 9 +- .../thrift/ConfigNodeRPCServiceProcessorTest.java | 160 +- .../confignode1conf/iotdb-confignode.properties | 6 +- .../resources/confignode1conf/iotdb-metric.yml | 53 + .../confignode2conf/iotdb-confignode.properties | 6 +- .../resources/confignode2conf/iotdb-metric.yml | 53 + .../confignode3conf/iotdb-confignode.properties | 6 +- .../resources/confignode3conf/iotdb-metric.yml | 53 + consensus/pom.xml | 67 +- .../apache/iotdb/consensus/ConsensusFactory.java | 11 +- .../org/apache/iotdb/consensus/IConsensus.java | 2 + .../org/apache/iotdb/consensus/common/Peer.java | 7 +- .../common/request/ByteBufferConsensusRequest.java | 4 +- .../common/request/IConsensusRequest.java | 15 +- .../common/request/IndexedConsensusRequest.java | 19 +- .../iotdb/consensus/config/ConsensusConfig.java | 97 + .../iotdb/consensus/config/MultiLeaderConfig.java | 299 + .../apache/iotdb/consensus/config/RatisConfig.java | 695 ++ .../multileader/MultiLeaderConsensus.java | 49 +- .../multileader/MultiLeaderServerImpl.java | 89 +- .../multileader/client/DispatchLogHandler.java | 7 +- .../client/MultiLeaderConsensusClientPool.java | 16 +- .../conf/MultiLeaderConsensusConfig.java | 40 - .../multileader/logdispatcher/IndexController.java | 67 +- .../multileader/logdispatcher/LogDispatcher.java | 167 +- .../multileader/logdispatcher/SyncStatus.java | 8 +- .../multileader/service/MultiLeaderRPCService.java | 27 +- .../service/MultiLeaderRPCServiceProcessor.java | 59 +- .../multileader/wal/ConsensusReqReader.java | 6 +- .../multileader/wal/GetConsensusReqReaderPlan.java | 5 +- .../ratis/ApplicationStateMachineProxy.java | 10 +- .../ratis/FileInfoWithDelayedMd5Computing.java | 75 + .../apache/iotdb/consensus/ratis/RatisClient.java | 49 +- .../iotdb/consensus/ratis/RatisConsensus.java | 76 +- .../iotdb/consensus/ratis/RequestMessage.java | 18 +- .../iotdb/consensus/ratis/SnapshotStorage.java | 65 +- .../org/apache/iotdb/consensus/ratis/Utils.java | 65 + .../consensus/standalone/StandAloneConsensus.java | 23 +- .../consensus/standalone/StandAloneServerImpl.java | 2 + .../apache/iotdb/consensus/EmptyStateMachine.java | 53 + .../multileader/MultiLeaderConsensusTest.java | 211 +- .../iotdb/consensus/multileader/RecoveryTest.java | 96 + .../logdispatcher/IndexControllerTest.java | 38 +- .../multileader/logdispatcher/SyncStatusTest.java | 87 +- .../multileader/util/FakeConsensusReqReader.java | 111 + .../consensus/multileader/util/RequestSets.java | 55 + .../consensus/multileader/util/TestEntry.java | 74 + .../multileader/util/TestStateMachine.java | 93 + .../iotdb/consensus/ratis/RatisConsensusTest.java | 128 +- .../apache/iotdb/consensus/ratis/TestUtils.java | 11 +- .../consensus/standalone/EmptyStateMachine.java | 54 - .../iotdb/consensus/standalone/RecoveryTest.java | 8 +- .../standalone/StandAloneConsensusTest.java | 16 +- distribution/pom.xml | 6 +- distribution/src/assembly/all.xml | 20 +- distribution/src/assembly/confignode.xml | 4 + distribution/src/assembly/datanode.xml | 88 + distribution/src/assembly/server.xml | 88 - docker/src/main/Dockerfile-cluster | 44 - docker/src/main/Dockerfile-single | 4 +- docker/src/main/Dockerfile-single-influxdb | 6 +- docker/src/main/Dockerfile-single-tc | 4 +- docs/Development/ContributeGuide.md | 14 - docs/Development/HowtoContributeCode.md | 160 + docs/Download/README.md | 58 +- docs/UserGuide/API/Programming-Java-Native-API.md | 8 +- docs/UserGuide/API/Programming-MQTT.md | 15 +- .../UserGuide/API/Programming-Python-Native-API.md | 236 + .../Administration-Management/Administration.md | 298 +- docs/UserGuide/Cluster/Cluster-Concept.md | 101 + docs/UserGuide/Cluster/Cluster-Setup-Example.md | 293 - docs/UserGuide/Cluster/Cluster-Setup.md | 406 +- docs/UserGuide/Data-Concept/Data-Type.md | 2 +- .../Data-Modeling/SchemaRegion-rocksdb.md | 2 +- .../Ecosystem Integration/Grafana Plugin.md | 21 +- .../Ecosystem Integration/Writing Data on HDFS.md | 2 +- .../Integration-Test-refactoring-tutorial.md | 311 +- docs/UserGuide/Maintenance-Tools/JMX-Tool.md | 2 +- .../Maintenance-Tools/Maintenance-Command.md | 189 +- docs/UserGuide/Maintenance-Tools/Metric-Tool.md | 115 +- .../Maintenance-Tools/Monitor-and-Log-Tools.md | 2 +- docs/UserGuide/Maintenance-Tools/Sync-Tool.md | 4 +- docs/UserGuide/Maintenance-Tools/Watermark-Tool.md | 4 +- .../Operate-Metadata/Auto-Create-MetaData.md | 28 +- docs/UserGuide/Process-Data/Triggers.md | 110 +- .../Process-Data/UDF-User-Defined-Function.md | 60 +- docs/UserGuide/Query-Data/Query-Filter.md | 25 +- docs/UserGuide/Query-Data/Select-Expression.md | 39 +- docs/UserGuide/Query-Data/Without-Null.md | 19 - docs/UserGuide/QuickStart/QuickStart.md | 10 +- docs/UserGuide/QuickStart/ServerFileList.md | 4 +- docs/UserGuide/Reference/Config-Manual.md | 1145 ---- .../Reference/ConfigNode-Config-Manual.md | 283 + docs/UserGuide/Reference/DataNode-Config-Manual.md | 1261 ++++ docs/UserGuide/Reference/Keywords.md | 24 - docs/UserGuide/Reference/Syntax-Conventions.md | 24 +- docs/UserGuide/UDF-Library/String-Processing.md | 656 +- .../Write-And-Delete-Data/Load-External-Tsfile.md | 2 +- docs/zh/Development/HowtoContributeCode.md | 154 + docs/zh/Download/README.md | 49 +- .../UserGuide/API/Programming-Java-Native-API.md | 8 +- docs/zh/UserGuide/API/Programming-MQTT.md | 13 +- .../UserGuide/API/Programming-Python-Native-API.md | 232 + .../Administration-Management/Administration.md | 297 +- docs/zh/UserGuide/Cluster/Cluster-Concept.md | 102 + docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md | 298 - docs/zh/UserGuide/Cluster/Cluster-Setup.md | 394 +- docs/zh/UserGuide/Data-Concept/Data-Type.md | 2 +- .../Data-Modeling/SchemaRegion-rocksdb.md | 2 +- .../Ecosystem Integration/Grafana Plugin.md | 18 +- .../Ecosystem Integration/Writing Data on HDFS.md | 2 +- .../Integration-Test-refactoring-tutorial.md | 316 +- docs/zh/UserGuide/Maintenance-Tools/JMX-Tool.md | 2 +- .../Maintenance-Tools/Maintenance-Command.md | 185 + docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 113 +- .../Maintenance-Tools/Monitor-and-Log-Tools.md | 2 +- docs/zh/UserGuide/Maintenance-Tools/Sync-Tool.md | 6 +- .../UserGuide/Maintenance-Tools/Watermark-Tool.md | 4 +- .../Operate-Metadata/Auto-Create-MetaData.md | 30 +- docs/zh/UserGuide/Process-Data/Triggers.md | 113 +- .../Process-Data/UDF-User-Defined-Function.md | 63 +- docs/zh/UserGuide/Query-Data/Query-Filter.md | 30 +- docs/zh/UserGuide/Query-Data/Select-Expression.md | 38 +- docs/zh/UserGuide/Query-Data/Without-Null.md | 19 - docs/zh/UserGuide/QuickStart/QuickStart.md | 4 +- docs/zh/UserGuide/QuickStart/ServerFileList.md | 4 +- docs/zh/UserGuide/Reference/Config-Manual.md | 1724 ----- .../Reference/ConfigNode-Config-Manual.md | 278 + .../UserGuide/Reference/DataNode-Config-Manual.md | 1810 +++++ docs/zh/UserGuide/Reference/Keywords.md | 24 - docs/zh/UserGuide/Reference/Syntax-Conventions.md | 29 +- docs/zh/UserGuide/UDF-Library/String-Processing.md | 652 +- .../Write-And-Delete-Data/Load-External-Tsfile.md | 2 +- example/client-cpp-example/README.md | 2 +- .../iotdb/SyntaxConventionRelatedExample.java | 161 + example/mqtt-customize/README.md | 4 +- .../server/CustomizedJsonPayloadFormatter.java | 2 +- example/mqtt/README.md | 2 +- .../java/org/apache/iotdb/mqtt/MQTTClient.java | 7 + example/rest-java-example/pom.xml | 49 + .../main/java/org/apache/iotdb/HttpExample.java | 141 + .../main/java/org/apache/iotdb/HttpsExample.java | 144 + .../src/main/java/org/apache/iotdb/SSLClient.java | 83 + .../iotdb/SyntaxConventionRelatedExample.java | 145 + .../java/org/apache/iotdb/udf/UDTFExample.java | 22 +- .../java/org/apache/iotdb/flink/IoTDBSink.java | 1 + .../iotdb/web/grafana/conf/MyConfiguration.java | 15 +- .../web/grafana/interceptor/LoginInterceptor.java | 61 + .../Apache IoTDB Dashboard v0.14.0.json | 1527 ----- .../Apache IoTDB ConfigNode Dashboard v0.14.0.json | 1172 ++++ .../Apache IoTDB DataNode Dashboard v0.14.0.json | 1536 +++++ .../Apache IoTDB Dashboard v0.13.1.json | 0 .../standalone/Apache IoTDB Dashboard v0.14.0.json | 1519 +++++ grafana-plugin/backend-compile.sh | 1 - grafana-plugin/pkg/plugin/plugin.go | 4 +- grafana-plugin/src/ConfigEditor.tsx | 1 + grafana-plugin/src/QueryEditor.tsx | 52 +- grafana-plugin/src/datasource.ts | 2 +- grafana-plugin/src/types.ts | 4 +- integration-test/README.md | 88 + integration-test/checkstyle.xml | 42 + integration-test/import-control.xml | 35 + integration-test/pom.xml | 243 + integration-test/src/assembly/mpp-share.xml | 33 + integration-test/src/assembly/mpp-test.xml | 74 + .../iotdb/db/query/udf/example/Accumulator.java | 102 + .../apache/iotdb/db/query/udf/example/Adder.java | 92 + .../apache/iotdb/db/query/udf/example/Counter.java | 88 + .../db/query/udf/example/ExampleUDFConstant.java | 31 + .../org/apache/iotdb/db/query/udf/example/Max.java | 74 + .../iotdb/db/query/udf/example/Multiplier.java | 63 + .../SlidingSizeWindowConstructorTester0.java | 59 + .../SlidingSizeWindowConstructorTester1.java | 64 + .../SlidingTimeWindowConstructionTester.java | 72 + .../db/query/udf/example/TerminateTester.java | 67 + .../iotdb/db/query/udf/example/ValidateTester.java | 44 + .../iotdb/db/query/udf/example/WindowStartEnd.java | 66 + .../java/org/apache/iotdb/it/env/AbstractEnv.java | 355 + .../apache/iotdb/it/env/AbstractNodeWrapper.java | 357 + .../java/org/apache/iotdb/it/env/Cluster1Env.java | 38 + .../org/apache/iotdb/it/env/ConfigFactory.java | 60 + .../org/apache/iotdb/it/env/ConfigNodeWrapper.java | 95 + .../org/apache/iotdb/it/env/DataNodeWrapper.java | 91 + .../java/org/apache/iotdb/it/env/EnvFactory.java | 59 + .../org/apache/iotdb/it/env/IoTDBTestRunner.java | 49 + .../java/org/apache/iotdb/it/env/MppConfig.java | 201 + .../apache/iotdb/it/env/RemoteServerConfig.java | 23 + .../org/apache/iotdb/it/env/RemoteServerEnv.java | 116 + .../iotdb/it/env/StandaloneDataNodeWrapper.java | 32 + .../apache/iotdb/it/env/StandaloneOnMppEnv.java | 52 + .../apache/iotdb/itbase/category/ClusterIT.java | 21 + .../iotdb/itbase/category/LocalStandaloneIT.java | 21 + .../org/apache/iotdb/itbase/category/RemoteIT.java | 21 + .../constant/BuiltinAggregationFunctionEnum.java | 58 + .../BuiltinTimeSeriesGeneratingFunctionEnum.java | 87 + .../apache/iotdb/itbase/constant/TestConstant.java | 146 + .../iotdb/itbase/constant/UDFTestConstant.java | 31 + .../org/apache/iotdb/itbase/env/BaseConfig.java | 188 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 43 + .../apache/iotdb/itbase/env/BaseNodeWrapper.java | 46 + .../exception/InconsistentDataException.java | 28 + .../exception/ParallelRequestTimeoutException.java | 25 + .../itbase/runtime/ClusterResultSetMetaData.java | 239 + .../itbase/runtime/ClusterTestConnection.java | 337 + .../iotdb/itbase/runtime/ClusterTestResultSet.java | 1178 ++++ .../iotdb/itbase/runtime/ClusterTestStatement.java | 326 + .../iotdb/itbase/runtime/NodeConnection.java | 85 + .../itbase/runtime/ParallelRequestDelegate.java | 70 + .../iotdb/itbase/runtime/RequestDelegate.java | 132 + .../iotdb/itbase/runtime/RequestThreadPool.java | 49 + .../itbase/runtime/SerialRequestDelegate.java | 49 + .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java | 112 + .../org/apache/iotdb/db/it/IoTDBCompleteIT.java | 495 ++ .../org/apache/iotdb/db/it/IoTDBDeletionIT.java | 506 ++ .../org/apache/iotdb/db/it/IoTDBExampleIT.java | 68 + .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java | 179 + .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java | 131 + .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java | 297 + .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java | 667 ++ .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java | 118 + .../it/IoTDBSameMeasurementsDifferentTypesIT.java | 180 + .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 1133 ++++ .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 994 +++ .../it/IoTDBSyntaxConventionStringLiteralIT.java | 705 ++ .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java | 156 + .../it/aggregation/IoTDBAggregationByLevelIT.java | 686 ++ .../it/aggregation/IoTDBAggregationDeleteIT.java | 93 + .../db/it/aggregation/IoTDBAggregationIT.java | 1010 +++ .../aggregation/IoTDBAggregationLargeDataIT.java | 935 +++ .../aggregation/IoTDBAggregationSmallDataIT.java | 786 +++ .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 1071 +++ .../iotdb/db/it/aligned/AlignedWriteUtil.java | 148 + .../aligned/IoTDBAggregationWithDeletion2IT.java | 78 + .../it/aligned/IoTDBAggregationWithDeletionIT.java | 522 ++ .../db/it/aligned/IoTDBAlignedDataDeletionIT.java | 540 ++ .../db/it/aligned/IoTDBAlignedSeriesQuery2IT.java | 61 + .../db/it/aligned/IoTDBAlignedSeriesQuery3IT.java | 61 + .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java | 6970 ++++++++++++++++++++ .../db/it/aligned/IoTDBGroupByLevelQueryIT.java | 224 + ...GroupByQueryWithValueFilterWithDeletion2IT.java | 75 + ...BGroupByQueryWithValueFilterWithDeletionIT.java | 764 +++ ...upByQueryWithoutValueFilterWithDeletion2IT.java | 76 + ...oupByQueryWithoutValueFilterWithDeletionIT.java | 755 +++ .../db/it/aligned/IoTDBInsertAlignedValues2IT.java | 120 + .../db/it/aligned/IoTDBInsertAlignedValues3IT.java | 121 + .../db/it/aligned/IoTDBInsertAlignedValues4IT.java | 78 + .../db/it/aligned/IoTDBInsertAlignedValuesIT.java | 295 + .../it/aligned/IoTDBLastQueryWithDeletion2IT.java | 77 + .../it/aligned/IoTDBLastQueryWithDeletionIT.java | 323 + .../aligned/IoTDBLastQueryWithoutLastCache2IT.java | 63 + .../aligned/IoTDBLastQueryWithoutLastCacheIT.java | 333 + ...DBLastQueryWithoutLastCacheWithDeletion2IT.java | 81 + ...TDBLastQueryWithoutLastCacheWithDeletionIT.java | 80 + ...BRawQueryWithoutValueFilterWithDeletion2IT.java | 80 + ...DBRawQueryWithoutValueFilterWithDeletionIT.java | 564 ++ .../org/apache/iotdb/db/it/env/StandaloneEnv.java | 97 + .../iotdb/db/it/env/StandaloneEnvConfig.java | 234 + .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java | 531 ++ .../db/it/groupby/IoTDBGroupByNaturalMonthIT.java | 246 + .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java | 132 + .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java | 384 ++ .../iotdb/db/it/query/IoTDBNullValueFillIT.java | 321 + .../iotdb/db/it/query/IoTDBPaginationIT.java | 152 + .../query/IoTDBQueryWithComplexValueFilterIT.java | 118 + .../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 131 + .../db/it/schema/IoTDBAutoCreateSchemaIT.java | 203 + .../it/schema/IoTDBCreateAlignedTimeseriesIT.java | 144 + .../db/it/schema/IoTDBCreateStorageGroupIT.java | 137 + .../db/it/schema/IoTDBCreateTimeseriesIT.java | 257 + .../db/it/schema/IoTDBDeleteStorageGroupIT.java | 176 + .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 553 ++ .../db/it/schema/IoTDBSortedShowTimeseriesIT.java | 334 + .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java | 600 ++ .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java | 1153 ++++ .../iotdb/db/it/udf/IoTDBUDFManagementIT.java | 338 + .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java | 803 +++ .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java | 842 +++ .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java | 1239 ++++ .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java | 256 + .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java | 350 + .../org/apache/iotdb/db/it/utils/TestUtils.java | 251 + .../db/it/withoutNull/IoTDBWithoutAllNullIT.java | 246 + .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java | 233 + .../withoutNull/IoTDBWithoutNullAllFilterIT.java | 1643 +++++ .../withoutNull/IoTDBWithoutNullAnyFilterIT.java | 1564 +++++ .../src/test/resources/iotdb-engine.properties | 21 + .../src/test/resources/logback-test.xml | 58 + integration/checkstyle.xml | 217 + integration/import-control.xml | 29 + integration/pom.xml | 5 - .../db/engine/trigger/example/Accumulator.java | 0 .../iotdb/db/engine/trigger/example/Counter.java | 0 .../iotdb/db/query/udf/example/Accumulator.java | 28 +- .../apache/iotdb/db/query/udf/example/Adder.java | 26 +- .../apache/iotdb/db/query/udf/example/Counter.java | 22 +- .../org/apache/iotdb/db/query/udf/example/Max.java | 22 +- .../iotdb/db/query/udf/example/Multiplier.java | 22 +- .../SlidingSizeWindowConstructorTester0.java | 16 +- .../SlidingSizeWindowConstructorTester1.java | 22 +- .../SlidingTimeWindowConstructionTester.java | 22 +- .../db/query/udf/example/TerminateTester.java | 18 +- .../iotdb/db/query/udf/example/ValidateTester.java | 20 +- .../iotdb/db/query/udf/example/WindowStartEnd.java | 18 +- .../apache/iotdb/integration/env/ClusterNode.java | 8 +- .../apache/iotdb/db/integration/IOTDBInsertIT.java | 6 + .../apache/iotdb/db/integration/IoTDBAliasIT.java | 396 -- .../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 1099 --- .../org/apache/iotdb/db/integration/IoTDBAsIT.java | 564 -- .../iotdb/db/integration/IoTDBAuthorizationIT.java | 10 +- .../db/integration/IoTDBCreateStorageGroupIT.java | 4 +- .../db/integration/IoTDBCreateTimeseriesIT.java | 314 - .../iotdb/db/integration/IoTDBDeletionIT.java | 4 +- .../iotdb/db/integration/IoTDBLimitSlimitIT.java | 204 - .../db/integration/IoTDBLoadExternalTsfileIT.java | 8 +- .../IoTDBLoadExternalTsfileWithVirtualSGIT.java | 138 + .../iotdb/db/integration/IoTDBNestedQueryIT.java | 52 +- .../iotdb/db/integration/IoTDBNumberPathIT.java | 483 -- .../db/integration/IoTDBPathNumOverLimitIT.java | 74 - .../IoTDBQueryWithComplexValueFilterIT.java | 113 - .../iotdb/db/integration/IoTDBQuotedPathIT.java | 125 - .../db/integration/IoTDBResultMetadataIT.java | 89 - .../iotdb/db/integration/IoTDBResultSetIT.java | 134 - .../iotdb/db/integration/IoTDBSelectIntoIT.java | 5 +- .../integration/IoTDBSizeTieredCompactionIT.java | 22 +- .../IoTDBSyntaxConventionIdentifierIT.java | 9 +- .../iotdb/db/integration/IoTDBTimeZoneIT.java | 158 - .../apache/iotdb/db/integration/IoTDBTtlIT.java | 3 +- .../iotdb/db/integration/IoTDBUDFManagementIT.java | 398 -- .../db/integration/IoTDBUDTFBuiltinFunctionIT.java | 1038 --- .../db/integration/IoTDBWithoutAllNullIT.java | 257 - .../db/integration/IoTDBWithoutAnyNullIT.java | 249 - .../aggregation/IoTDBAggregationByLevelIT.java | 693 -- .../aggregation/IoTDBAggregationDeleteIT.java | 94 - .../aggregation/IoTDBAggregationIT.java | 1064 --- .../aggregation/IoTDBAggregationLargeDataIT.java | 1010 --- .../aggregation/IoTDBAggregationSmallDataIT.java | 799 --- .../aligned/IoTDBAggregationGroupByLevelIT.java | 302 - .../IoTDBAggregationWithValueFilter2IT.java | 65 - .../aligned/IoTDBAggregationWithValueFilterIT.java | 264 - ...BAggregationWithValueFilterWithDeletion2IT.java | 85 - ...DBAggregationWithValueFilterWithDeletionIT.java | 221 - .../IoTDBAggregationWithoutValueFilter2IT.java | 65 - .../IoTDBAggregationWithoutValueFilterIT.java | 456 -- ...gregationWithoutValueFilterWithDeletion2IT.java | 82 - ...ggregationWithoutValueFilterWithDeletionIT.java | 453 -- .../integration/aligned/IoTDBAlignByDevice2IT.java | 67 - .../integration/aligned/IoTDBAlignByDeviceIT.java | 1623 ----- .../db/integration/aligned/IoTDBDeletionIT.java | 4 +- .../db/integration/aligned/IoTDBEmptyDataIT.java | 78 + .../IoTDBGroupByQueryWithValueFilter2IT.java | 65 - .../IoTDBGroupByQueryWithValueFilterIT.java | 1094 --- ...GroupByQueryWithValueFilterWithDeletion2IT.java | 76 - ...BGroupByQueryWithValueFilterWithDeletionIT.java | 826 --- .../IoTDBGroupByQueryWithoutValueFilter2IT.java | 65 - .../IoTDBGroupByQueryWithoutValueFilterIT.java | 1128 ---- ...upByQueryWithoutValueFilterWithDeletion2IT.java | 77 - ...oupByQueryWithoutValueFilterWithDeletionIT.java | 818 --- ...GroupBySlidingWindowQueryWithValueFilterIT.java | 951 --- ...upBySlidingWindowQueryWithoutValueFilterIT.java | 947 --- .../aligned/IoTDBInsertAlignedValuesIT.java | 391 -- .../db/integration/aligned/IoTDBLastQuery2IT.java | 65 - .../db/integration/aligned/IoTDBLastQueryIT.java | 376 -- .../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 - ...DBRawQueryWithoutValueFilterWithDeletionIT.java | 611 -- .../db/integration/groupby/IOTDBGroupByIT.java | 996 --- .../groupby/IOTDBGroupByInnerIntervalIT.java | 342 - .../groupby/IoTDBGroupByMonthFillIT.java | 272 - .../integration/groupby/IoTDBGroupByMonthIT.java | 366 - .../groupby/IoTDBGroupByNaturalMonthFillIT.java | 273 + .../integration/groupby/IoTDBGroupByUnseqIT.java | 185 - .../db/integration/sync/IoTDBSyncReceiverIT.java | 2 +- .../db/integration/sync/IoTDBSyncSenderIT.java | 2 + .../IoTDBWithoutNullAllFilterIT.java | 1973 ------ .../IoTDBWithoutNullAnyFilterIT.java | 1866 ------ .../session/IoTDBSessionDisableMemControlIT.java | 16 +- .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 8 +- .../iotdb/session/IoTDBSessionVectorInsertIT.java | 8 +- .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 6 +- .../main/java/org/apache/iotdb/jdbc/Config.java | 6 + .../org/apache/iotdb/jdbc/IoTDBConnection.java | 50 +- .../apache/iotdb/jdbc/IoTDBConnectionParams.java | 25 + .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 66 +- .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 6 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 4 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 2 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 13 +- .../src/main/java/org/apache/iotdb/jdbc/Utils.java | 18 + .../test/java/org/apache/iotdb/jdbc/BatchTest.java | 4 +- .../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 16 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 4 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 4 +- .../iotdb/jdbc/IoTDBPreparedStatementTest.java | 2 +- .../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 2 +- .../org/apache/iotdb/library/anomaly/UDTFIQR.java | 23 +- .../apache/iotdb/library/anomaly/UDTFKSigma.java | 21 +- .../org/apache/iotdb/library/anomaly/UDTFLOF.java | 23 +- .../iotdb/library/anomaly/UDTFMissDetect.java | 21 +- .../apache/iotdb/library/anomaly/UDTFRange.java | 21 +- .../iotdb/library/anomaly/UDTFTwoSidedFilter.java | 21 +- .../iotdb/library/anomaly/util/MissDetector.java | 4 +- .../iotdb/library/anomaly/util/WindowDetect.java | 4 +- .../org/apache/iotdb/library/dmatch/UDAFCov.java | 26 +- .../org/apache/iotdb/library/dmatch/UDAFDtw.java | 26 +- .../apache/iotdb/library/dmatch/UDAFPearson.java | 26 +- .../apache/iotdb/library/dmatch/UDTFPtnSym.java | 23 +- .../org/apache/iotdb/library/dmatch/UDTFXCorr.java | 24 +- .../iotdb/library/dprofile/UDAFIntegral.java | 20 +- .../iotdb/library/dprofile/UDAFIntegralAvg.java | 23 +- .../org/apache/iotdb/library/dprofile/UDAFMad.java | 28 +- .../apache/iotdb/library/dprofile/UDAFMedian.java | 28 +- .../apache/iotdb/library/dprofile/UDAFMode.java | 17 +- .../iotdb/library/dprofile/UDAFPercentile.java | 25 +- .../apache/iotdb/library/dprofile/UDAFPeriod.java | 25 +- .../apache/iotdb/library/dprofile/UDAFSkew.java | 23 +- .../apache/iotdb/library/dprofile/UDAFSpread.java | 25 +- .../apache/iotdb/library/dprofile/UDAFStddev.java | 23 +- .../org/apache/iotdb/library/dprofile/UDTFACF.java | 23 +- .../iotdb/library/dprofile/UDTFDistinct.java | 26 +- .../iotdb/library/dprofile/UDTFHistogram.java | 23 +- .../apache/iotdb/library/dprofile/UDTFMinMax.java | 23 +- .../apache/iotdb/library/dprofile/UDTFMvAvg.java | 25 +- .../apache/iotdb/library/dprofile/UDTFPACF.java | 23 +- .../org/apache/iotdb/library/dprofile/UDTFQLB.java | 23 +- .../iotdb/library/dprofile/UDTFResample.java | 23 +- .../apache/iotdb/library/dprofile/UDTFSample.java | 23 +- .../apache/iotdb/library/dprofile/UDTFSegment.java | 23 +- .../apache/iotdb/library/dprofile/UDTFSpline.java | 23 +- .../apache/iotdb/library/dprofile/UDTFZScore.java | 23 +- .../dprofile/util/ExactOrderStatistics.java | 41 +- .../iotdb/library/dquality/UDTFCompleteness.java | 18 +- .../iotdb/library/dquality/UDTFConsistency.java | 18 +- .../iotdb/library/dquality/UDTFTimeliness.java | 18 +- .../iotdb/library/dquality/UDTFValidity.java | 18 +- .../library/dquality/util/TimeSeriesQuality.java | 4 +- .../iotdb/library/drepair/UDTFTimestampRepair.java | 19 +- .../iotdb/library/drepair/UDTFValueFill.java | 19 +- .../iotdb/library/drepair/UDTFValueRepair.java | 19 +- .../apache/iotdb/library/drepair/util/ARFill.java | 4 +- .../iotdb/library/drepair/util/LikelihoodFill.java | 2 +- .../iotdb/library/drepair/util/LinearFill.java | 2 +- .../iotdb/library/drepair/util/LsGreedy.java | 2 +- .../apache/iotdb/library/drepair/util/MAFill.java | 2 +- .../iotdb/library/drepair/util/MeanFill.java | 2 +- .../iotdb/library/drepair/util/PreviousFill.java | 2 +- .../apache/iotdb/library/drepair/util/Screen.java | 2 +- .../iotdb/library/drepair/util/ScreenFill.java | 4 +- .../library/drepair/util/TimestampRepair.java | 4 +- .../iotdb/library/drepair/util/ValueFill.java | 6 +- .../iotdb/library/drepair/util/ValueRepair.java | 4 +- .../apache/iotdb/library/frequency/UDTFConv.java | 26 +- .../apache/iotdb/library/frequency/UDTFDWT.java | 23 +- .../apache/iotdb/library/frequency/UDTFDeconv.java | 26 +- .../apache/iotdb/library/frequency/UDTFFFT.java | 23 +- .../iotdb/library/frequency/UDTFHighPass.java | 23 +- .../apache/iotdb/library/frequency/UDTFIDWT.java | 23 +- .../apache/iotdb/library/frequency/UDTFIFFT.java | 23 +- .../iotdb/library/frequency/UDTFLowPass.java | 23 +- .../iotdb/library/frequency/util/FFTUtil.java | 2 +- .../library/series/UDTFConsecutiveSequences.java | 20 +- .../library/series/UDTFConsecutiveWindows.java | 20 +- .../iotdb/library/series/util/ConsecutiveUtil.java | 4 +- .../iotdb/library/string/UDTFRegexMatch.java | 22 +- .../iotdb/library/string/UDTFRegexReplace.java | 22 +- .../iotdb/library/string/UDTFRegexSplit.java | 22 +- .../iotdb/library/string/UDTFStrReplace.java | 22 +- .../iotdb/library/util/LinearRegression.java | 2 +- .../java/org/apache/iotdb/library/util/Util.java | 4 +- .../apache/iotdb/metrics/config/MetricConfig.java | 27 +- .../metrics/config/MetricConfigDescriptor.java | 15 +- .../iotdb/metrics/config/MetricConstant.java | 2 + .../apache/iotdb/metrics/utils/MetricsUtils.java | 16 +- .../reporter/MicrometerPrometheusReporter.java | 1 + .../micrometer/MicrometerMetricManagerTest.java | 12 + metrics/pom.xml | 41 + node-commons/pom.xml | 10 + .../commons/client/ClientFactoryProperty.java | 2 +- .../apache/iotdb/commons/client/ClientManager.java | 2 +- .../async/AsyncConfigNodeIServiceClient.java | 4 +- .../async/AsyncDataNodeDataBlockServiceClient.java | 146 - .../async/AsyncDataNodeInternalServiceClient.java | 4 +- .../AsyncDataNodeMPPDataExchangeServiceClient.java | 146 + .../client/sync/SyncConfigNodeIServiceClient.java | 4 +- .../sync/SyncDataNodeDataBlockServiceClient.java | 132 - .../sync/SyncDataNodeInternalServiceClient.java | 4 +- .../SyncDataNodeMPPDataExchangeServiceClient.java | 132 + .../apache/iotdb/commons/cluster/NodeStatus.java | 37 + .../apache/iotdb/commons/cluster/RegionStatus.java | 36 + .../iotdb/commons/concurrent/ThreadName.java | 4 +- .../threadpool/ScheduledExecutorUtil.java | 188 + .../WrappedScheduledExecutorService.java | 2 + .../WrappedSingleThreadScheduledExecutor.java | 2 + .../apache/iotdb/commons/conf/IoTDBConstant.java | 17 +- .../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 | 49 + .../org/apache/iotdb/commons/path/PathType.java | 10 +- .../service/AbstractThriftServiceThread.java | 55 +- .../apache/iotdb/commons/service/ServiceType.java | 2 +- .../iotdb/commons/service/ThriftServiceThread.java | 4 + .../java/org/apache/iotdb/commons/udf/api/UDF.java | 40 - .../org/apache/iotdb/commons/udf/api/UDTF.java | 120 - .../apache/iotdb/commons/udf/api/access/Row.java | 130 - .../iotdb/commons/udf/api/access/RowIterator.java | 47 - .../iotdb/commons/udf/api/access/RowWindow.java | 102 - .../commons/udf/api/collector/PointCollector.java | 137 - .../api/customizer/config/UDFConfigurations.java | 37 - .../api/customizer/config/UDTFConfigurations.java | 105 - .../parameter/UDFParameterValidator.java | 211 - .../api/customizer/parameter/UDFParameters.java | 147 - .../api/customizer/strategy/AccessStrategy.java | 57 - .../strategy/RowByRowAccessStrategy.java | 61 - .../strategy/SlidingSizeWindowAccessStrategy.java | 123 - .../strategy/SlidingTimeWindowAccessStrategy.java | 230 - .../UDFAttributeNotProvidedException.java | 27 - .../commons/udf/api/exception/UDFException.java | 31 - .../UDFInputSeriesDataTypeNotValidException.java | 43 - .../UDFInputSeriesIndexNotValidException.java | 30 - .../UDFInputSeriesNumberNotValidException.java | 38 - .../UDFOutputSeriesDataTypeNotValidException.java | 30 - .../exception/UDFParameterNotValidException.java | 27 - .../api/exception/UDFRegistrationException.java | 32 - .../BuiltinTimeSeriesGeneratingFunction.java | 21 + .../commons/udf/builtin/String/UDTFConcat.java | 74 + .../commons/udf/builtin/String/UDTFEndsWith.java | 51 + .../commons/udf/builtin/String/UDTFLower.java | 48 + .../commons/udf/builtin/String/UDTFStartsWith.java | 50 + .../commons/udf/builtin/String/UDTFStrCompare.java | 55 + .../commons/udf/builtin/String/UDTFStrLength.java | 48 + .../commons/udf/builtin/String/UDTFStrLocate.java | 60 + .../commons/udf/builtin/String/UDTFSubstr.java | 70 + .../iotdb/commons/udf/builtin/String/UDTFTrim.java | 48 + .../commons/udf/builtin/String/UDTFUpper.java | 48 + .../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 28 +- .../iotdb/commons/udf/builtin/UDTFBottomK.java | 17 +- .../apache/iotdb/commons/udf/builtin/UDTFCast.java | 28 +- .../commons/udf/builtin/UDTFCommonDerivative.java | 16 +- .../udf/builtin/UDTFCommonValueDifference.java | 16 +- .../iotdb/commons/udf/builtin/UDTFConst.java | 24 +- .../iotdb/commons/udf/builtin/UDTFConstE.java | 18 +- .../iotdb/commons/udf/builtin/UDTFConstPi.java | 18 +- .../iotdb/commons/udf/builtin/UDTFContains.java | 24 +- .../udf/builtin/UDTFContinuouslySatisfy.java | 47 +- .../iotdb/commons/udf/builtin/UDTFDerivative.java | 21 +- .../udf/builtin/UDTFEqualSizeBucketAggSample.java | 29 +- .../udf/builtin/UDTFEqualSizeBucketM4Sample.java | 28 +- .../builtin/UDTFEqualSizeBucketOutlierSample.java | 32 +- .../builtin/UDTFEqualSizeBucketRandomSample.java | 26 +- .../udf/builtin/UDTFEqualSizeBucketSample.java | 14 +- .../iotdb/commons/udf/builtin/UDTFInRange.java | 36 +- .../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 64 +- .../iotdb/commons/udf/builtin/UDTFMatches.java | 24 +- .../apache/iotdb/commons/udf/builtin/UDTFMath.java | 36 +- .../udf/builtin/UDTFNonNegativeDerivative.java | 16 +- .../builtin/UDTFNonNegativeValueDifference.java | 16 +- .../iotdb/commons/udf/builtin/UDTFOnOff.java | 35 +- .../iotdb/commons/udf/builtin/UDTFSelectK.java | 58 +- .../commons/udf/builtin/UDTFTimeDifference.java | 18 +- .../apache/iotdb/commons/udf/builtin/UDTFTopK.java | 17 +- .../commons/udf/builtin/UDTFValueDifference.java | 19 +- .../iotdb/commons/udf/builtin/UDTFValueTrend.java | 24 +- .../commons/udf/service/UDFClassLoaderManager.java | 4 +- .../udf/service/UDFRegistrationInformation.java | 2 +- .../udf/service/UDFRegistrationService.java | 4 +- .../commons/udf/utils/UDFBinaryTransformer.java | 37 + .../commons/udf/utils/UDFDataTypeTransformer.java | 77 + .../org/apache/iotdb/commons/utils/AuthUtils.java | 37 + .../commons/utils/BasicStructureSerDeUtil.java | 86 +- .../org/apache/iotdb/commons/utils/FileUtils.java | 14 +- .../apache/iotdb/commons/utils/NodeUrlUtils.java | 6 +- .../org/apache/iotdb/commons/utils/PathUtils.java | 4 + .../commons/utils/ThriftCommonsSerDeUtils.java | 34 +- .../commons/utils/ThriftConfigNodeSerDeUtils.java | 10 + .../apache/iotdb/commons/ClientManagerTest.java | 477 -- .../iotdb/commons/IoTDBThreadPoolFactoryTest.java | 4 +- .../iotdb/commons/client/ClientManagerTest.java | 454 ++ .../client/mock/MockInternalRPCService.java | 92 + .../client/mock/MockInternalRPCServiceMBean.java | 22 + .../commons/partition/DataPartitionTableTest.java | 124 + .../iotdb/commons/partition/DataPartitionTest.java | 69 - .../partition/SchemaPartitionTableTest.java | 101 + .../commons/partition/SchemaPartitionTest.java | 65 - .../iotdb/commons/partition/SerializeTest.java | 101 - .../partition/SeriesPartitionTableTest.java | 111 + .../iotdb/commons/utils/NodeUrlUtilsTest.java | 8 +- .../commons/utils/ThriftCommonsSerDeUtilsTest.java | 102 +- .../utils/ThriftConfigNodeSerDeUtilsTest.java | 17 +- openapi/pom.xml | 26 + pom.xml | 30 +- schema-engine-rocksdb/README.md | 2 +- .../resources/conf/schema-rocksdb.properties | 8 +- .../schemaregion/rocksdb/RSchemaConfLoader.java | 4 +- .../schemaregion/rocksdb/RSchemaRegion.java | 14 - .../schemaregion/rocksdb/mnode/RMNode.java | 7 + .../rocksdb/mnode/RMeasurementMNode.java | 10 - server/file-changelists/conf-changelist.md | 3 + server/pom.xml | 4 + .../src/assembly/resources/conf/datanode-env.bat | 146 + server/src/assembly/resources/conf/datanode-env.sh | 264 + .../resources/conf/iotdb-datanode.properties | 1078 +++ .../resources/conf/iotdb-engine.properties | 1056 --- server/src/assembly/resources/conf/iotdb-env.bat | 146 - server/src/assembly/resources/conf/iotdb-env.sh | 264 - .../assembly/resources/conf/iotdb-rest.properties | 3 + server/src/assembly/resources/conf/logback.xml | 2 +- .../src/assembly/resources/sbin/start-datanode.bat | 14 +- .../src/assembly/resources/sbin/start-datanode.sh | 77 +- .../assembly/resources/sbin/start-new-server.bat | 126 + .../assembly/resources/sbin/start-new-server.sh | 151 + .../src/assembly/resources/sbin/start-server.bat | 6 +- server/src/assembly/resources/sbin/start-server.sh | 71 +- .../src/assembly/resources/sbin/stop-datanode.bat | 19 +- .../src/assembly/resources/sbin/stop-datanode.sh | 26 +- server/src/assembly/resources/sbin/stop-server.bat | 4 +- server/src/assembly/resources/sbin/stop-server.sh | 2 +- .../assembly/resources/tools/rocksdb-transfer.bat | 6 +- .../assembly/resources/tools/rocksdb-transfer.sh | 8 +- .../assembly/resources/tools/start-WalChecker.sh | 6 +- .../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 | 39 + .../iotdb/db/auth/StandaloneAuthorityFetcher.java | 131 + .../apache/iotdb/db/client/ConfigNodeClient.java | 141 +- .../iotdb/db/client/DataNodeClientPoolFactory.java | 30 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 237 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 152 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 56 +- .../db/conf/directories/DirectoryManager.java | 6 + .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 11 + .../db/conf/rest/IoTDBRestServiceDescriptor.java | 3 + .../db/consensus/DataRegionConsensusImpl.java | 80 +- .../db/consensus/SchemaRegionConsensusImpl.java | 51 +- .../consensus/statemachine/BaseStateMachine.java | 18 +- .../statemachine/DataRegionStateMachine.java | 14 +- .../statemachine/SchemaRegionStateMachine.java | 4 +- .../statemachine/visitor/DataExecutionVisitor.java | 61 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 121 +- .../apache/iotdb/db/engine/StorageEngineV2.java | 250 +- .../compaction/CompactionMetricsManager.java | 171 - .../db/engine/compaction/CompactionScheduler.java | 12 +- .../engine/compaction/CompactionTaskManager.java | 253 +- .../db/engine/compaction/CompactionWorker.java | 117 + .../DefaultCompactionTaskComparatorImpl.java | 17 +- .../compaction/cross/CrossSpaceCompactionTask.java | 49 +- .../rewrite/CrossSpaceCompactionResource.java | 8 - .../RewriteCrossSpaceCompactionSelector.java | 4 +- .../rewrite/task/ReadPointPerformerSubTask.java | 26 +- .../compaction/inner/InnerSpaceCompactionTask.java | 90 +- .../utils/AlignedSeriesCompactionExecutor.java | 32 +- .../inner/utils/MultiTsFileDeviceIterator.java | 3 + .../utils/SingleSeriesCompactionExecutor.java | 44 +- .../compaction/performer/ICompactionPerformer.java | 3 + .../impl/ReadChunkCompactionPerformer.java | 27 +- .../impl/ReadPointCompactionPerformer.java | 113 +- .../compaction/task/AbstractCompactionTask.java | 71 +- .../compaction/task/CompactionTaskSummary.java | 51 +- .../writer/AbstractCompactionWriter.java | 4 +- .../iotdb/db/engine/cq/ContinuousQueryService.java | 4 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 43 +- .../engine/memtable/AlignedWritableMemChunk.java | 26 +- .../apache/iotdb/db/engine/memtable/IMemTable.java | 2 +- .../querycontext/AlignedReadOnlyMemChunk.java | 13 +- .../iotdb/db/engine/snapshot/SnapshotLoader.java | 144 +- .../iotdb/db/engine/snapshot/SnapshotTaker.java | 105 +- .../iotdb/db/engine/storagegroup/DataRegion.java | 168 +- .../db/engine/storagegroup/TsFileManager.java | 38 +- .../db/engine/storagegroup/TsFileResource.java | 9 +- .../dataregion/StorageGroupManager.java | 23 +- .../db/engine/trigger/builtin/ForwardTrigger.java | 12 +- .../forward/http/HTTPForwardConfiguration.java | 47 + .../sink/forward/http/HTTPForwardEvent.java | 30 + .../sink/forward/http/HTTPForwardHandler.java | 133 + .../forward/mqtt/MQTTForwardConfiguration.java | 137 + .../sink/forward/mqtt/MQTTForwardEvent.java | 30 + .../sink/forward/mqtt/MQTTForwardHandler.java | 97 + .../sink/http/HTTPForwardConfiguration.java | 47 - .../engine/trigger/sink/http/HTTPForwardEvent.java | 30 - .../trigger/sink/http/HTTPForwardHandler.java | 133 - .../sink/mqtt/MQTTForwardConfiguration.java | 137 - .../engine/trigger/sink/mqtt/MQTTForwardEvent.java | 30 - .../trigger/sink/mqtt/MQTTForwardHandler.java | 97 - .../iotdb/db/exception/BatchProcessException.java | 5 + .../metadata/DataTypeMismatchException.java | 20 +- .../metadata/MeasurementAlreadyExistException.java | 42 + .../metadata/SeriesOverflowException.java | 2 +- .../metadata/StorageGroupAlreadySetException.java | 4 +- .../mpp/FragmentInstanceDispatchException.java | 13 + .../exception/query/PathNumOverLimitException.java | 3 +- .../runtime/SerializationRunTimeException.java | 27 + .../sql/MeasurementNotExistException.java | 27 + .../exception/sql/PathNumOverLimitException.java | 33 + .../iotdb/db/localconfignode/LocalConfigNode.java | 520 +- .../localconfignode/LocalDataPartitionTable.java | 58 +- .../iotdb/db/metadata/LocalSchemaProcessor.java | 5 +- .../apache/iotdb/db/metadata/MetadataConstant.java | 20 +- .../db/metadata/cache/DataNodeSchemaCache.java | 31 +- .../iotdb/db/metadata/cache/SchemaCacheEntry.java | 32 +- .../idtable/entry/InsertMeasurementMNode.java | 16 +- .../iotdb/db/metadata/logfile/MLogWriter.java | 2 +- .../iotdb/db/metadata/mnode/EntityMNode.java | 6 + .../org/apache/iotdb/db/metadata/mnode/IMNode.java | 3 + .../iotdb/db/metadata/mnode/IMeasurementMNode.java | 4 - .../iotdb/db/metadata/mnode/InternalMNode.java | 6 + .../iotdb/db/metadata/mnode/MeasurementMNode.java | 16 +- .../db/metadata/mnode/StorageGroupEntityMNode.java | 6 + .../iotdb/db/metadata/mnode/StorageGroupMNode.java | 6 + .../db/metadata/mnode/visitor/MNodeVisitor.java | 39 + .../iotdb/db/metadata/mtree/MTreeAboveSG.java | 36 +- .../db/metadata/mtree/MTreeBelowSGCachedImpl.java | 1 + .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 49 +- .../mtree/snapshot/MemMTreeSnapshotUtil.java | 359 + .../db/metadata/mtree/store/CachedMTreeStore.java | 7 + .../iotdb/db/metadata/mtree/store/IMTreeStore.java | 4 + .../db/metadata/mtree/store/MemMTreeStore.java | 18 + .../apache/iotdb/db/metadata/path/AlignedPath.java | 29 + .../iotdb/db/metadata/path/MeasurementPath.java | 44 +- .../iotdb/db/metadata/rescon/MemoryStatistics.java | 2 +- .../db/metadata/schemaregion/ISchemaRegion.java | 6 - .../db/metadata/schemaregion/SchemaEngine.java | 158 +- .../schemaregion/SchemaRegionMemoryImpl.java | 327 +- .../schemaregion/SchemaRegionSchemaFileImpl.java | 14 - .../metadata/schemaregion/SchemaRegionUtils.java | 13 +- .../apache/iotdb/db/metadata/tag/TagLogFile.java | 2 +- .../apache/iotdb/db/metadata/tag/TagManager.java | 19 + .../db/metadata/upgrade/MetadataUpgrader.java | 4 +- .../iotdb/db/metadata/utils/MetaFormatUtils.java | 6 +- .../apache/iotdb/db/metadata/utils/MetaUtils.java | 22 + .../db/metadata/utils/TimeseriesVersionUtil.java | 28 - .../metadata/visitor/SchemaExecutionVisitor.java | 188 +- .../iotdb/db/mpp/aggregation/Accumulator.java | 8 +- .../iotdb/db/mpp/aggregation/Aggregator.java | 9 +- .../iotdb/db/mpp/aggregation/AvgAccumulator.java | 65 +- .../iotdb/db/mpp/aggregation/CountAccumulator.java | 30 +- .../db/mpp/aggregation/ExtremeAccumulator.java | 65 +- .../db/mpp/aggregation/FirstValueAccumulator.java | 113 +- .../mpp/aggregation/FirstValueDescAccumulator.java | 48 +- .../db/mpp/aggregation/LastValueAccumulator.java | 101 +- .../mpp/aggregation/LastValueDescAccumulator.java | 60 +- .../db/mpp/aggregation/MaxTimeAccumulator.java | 16 +- .../db/mpp/aggregation/MaxTimeDescAccumulator.java | 15 +- .../db/mpp/aggregation/MaxValueAccumulator.java | 65 +- .../db/mpp/aggregation/MinTimeAccumulator.java | 18 +- .../db/mpp/aggregation/MinTimeDescAccumulator.java | 13 +- .../db/mpp/aggregation/MinValueAccumulator.java | 65 +- .../iotdb/db/mpp/aggregation/SumAccumulator.java | 65 +- .../slidingwindow/SlidingWindowAggregator.java | 3 +- .../TimeRangeIteratorFactory.java | 14 +- .../iotdb/db/mpp/common/FragmentInstanceId.java | 14 +- .../apache/iotdb/db/mpp/common/PlanFragmentId.java | 9 +- .../org/apache/iotdb/db/mpp/common/QueryId.java | 6 + .../iotdb/db/mpp/common/header/ColumnHeader.java | 6 +- .../iotdb/db/mpp/common/header/DatasetHeader.java | 18 +- .../iotdb/db/mpp/common/header/HeaderConstant.java | 91 + .../db/mpp/common/schematree/PathPatternNode.java | 13 + .../db/mpp/common/schematree/PathPatternTree.java | 272 +- .../iotdb/db/mpp/common/schematree/SchemaTree.java | 47 +- .../common/schematree/node/SchemaEntityNode.java | 22 +- .../common/schematree/node/SchemaInternalNode.java | 27 +- .../schematree/node/SchemaMeasurementNode.java | 34 +- .../db/mpp/common/schematree/node/SchemaNode.java | 7 +- .../visitor/SchemaTreeMeasurementVisitor.java | 8 +- .../iotdb/db/mpp/execution/QueryStateMachine.java | 14 + .../execution/datatransfer/DataBlockManager.java | 476 -- .../execution/datatransfer/DataBlockService.java | 137 - .../datatransfer/DataBlockServiceMBean.java | 34 - .../DataBlockServiceThriftHandler.java | 44 - .../execution/datatransfer/IDataBlockManager.java | 85 - .../datatransfer/IDataBlockManagerCallback.java | 24 - .../db/mpp/execution/datatransfer/ISinkHandle.java | 73 - .../mpp/execution/datatransfer/ISourceHandle.java | 57 - .../execution/datatransfer/LocalSinkHandle.java | 146 - .../execution/datatransfer/LocalSourceHandle.java | 125 - .../execution/datatransfer/SharedTsBlockQueue.java | 152 - .../db/mpp/execution/datatransfer/SinkHandle.java | 374 -- .../mpp/execution/datatransfer/SourceHandle.java | 430 -- .../datatransfer/TsBlockSerdeFactory.java | 31 - .../iotdb/db/mpp/execution/driver/DataDriver.java | 4 +- .../iotdb/db/mpp/execution/driver/Driver.java | 24 +- .../iotdb/db/mpp/execution/driver/IDriver.java | 4 +- .../db/mpp/execution/driver/SchemaDriver.java | 4 +- .../exchange/IMPPDataExchangeManager.java | 85 + .../exchange/IMPPDataExchangeManagerCallback.java | 24 + .../db/mpp/execution/exchange/ISinkHandle.java | 73 + .../db/mpp/execution/exchange/ISourceHandle.java | 57 + .../db/mpp/execution/exchange/LocalSinkHandle.java | 176 + .../mpp/execution/exchange/LocalSourceHandle.java | 162 + .../execution/exchange/MPPDataExchangeManager.java | 508 ++ .../execution/exchange/MPPDataExchangeService.java | 159 + .../exchange/MPPDataExchangeServiceMBean.java | 34 + .../MPPDataExchangeServiceThriftHandler.java | 66 + .../mpp/execution/exchange/SharedTsBlockQueue.java | 175 + .../db/mpp/execution/exchange/SinkHandle.java | 370 ++ .../db/mpp/execution/exchange/SourceHandle.java | 440 ++ .../execution/exchange/TsBlockSerdeFactory.java | 31 + .../fragment/FragmentInstanceExecution.java | 37 +- .../fragment/FragmentInstanceManager.java | 82 +- .../execution/fragment/FragmentInstanceState.java | 4 +- .../fragment/FragmentInstanceStateMachine.java | 7 +- .../iotdb/db/mpp/execution/operator/Operator.java | 4 +- .../operator/process/AggregationOperator.java | 28 +- .../operator/process/DeviceMergeOperator.java | 15 +- .../operator/process/DeviceViewOperator.java | 7 +- .../execution/operator/process/FillOperator.java | 2 +- .../operator/process/FilterNullOperator.java | 57 - .../execution/operator/process/FilterOperator.java | 137 +- .../operator/process/LastQueryMergeOperator.java | 9 +- .../execution/operator/process/LimitOperator.java | 2 +- .../operator/process/LinearFillOperator.java | 38 +- .../execution/operator/process/OffsetOperator.java | 2 +- .../process/RawDataAggregationOperator.java | 80 +- .../process/SlidingWindowAggregationOperator.java | 50 +- .../execution/operator/process/SortOperator.java | 2 +- .../operator/process/TimeJoinOperator.java | 11 +- .../operator/process/TransformOperator.java | 161 +- .../operator/process/UpdateLastCacheOperator.java | 2 +- .../operator/process/fill/ILinearFill.java | 57 + .../process/fill/identity/IdentityFill.java | 30 + .../process/fill/identity/IdentityLinearFill.java | 43 + .../operator/process/fill/linear/LinearFill.java | 72 +- .../operator/schema/CountMergeOperator.java | 11 +- .../schema/NodeManageMemoryMergeOperator.java | 43 +- .../operator/schema/NodePathsConvertOperator.java | 7 +- .../operator/schema/NodePathsCountOperator.java | 39 +- .../schema/NodePathsSchemaScanOperator.java | 3 +- .../operator/schema/SchemaFetchMergeOperator.java | 54 +- .../operator/schema/SchemaFetchScanOperator.java | 23 +- .../operator/schema/SchemaQueryMergeOperator.java | 43 +- .../schema/SchemaQueryOrderByHeatOperator.java | 91 +- .../schema/TimeSeriesSchemaScanOperator.java | 14 +- .../operator/sink/FragmentSinkOperator.java | 66 - .../AlignedSeriesAggregationScanOperator.java | 147 +- .../operator/source/ExchangeOperator.java | 6 +- .../source/SeriesAggregationScanOperator.java | 134 +- .../execution/schedule/AbstractDriverThread.java | 13 +- .../db/mpp/execution/schedule/DriverScheduler.java | 139 +- .../mpp/execution/schedule/DriverTaskThread.java | 8 +- .../db/mpp/execution/schedule/task/DriverTask.java | 4 +- .../org/apache/iotdb/db/mpp/plan/Coordinator.java | 75 +- .../org/apache/iotdb/db/mpp/plan/StepTracker.java | 80 + .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java | 303 +- .../mpp/plan/analyze/ClusterPartitionFetcher.java | 394 +- .../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 217 +- .../plan/analyze/ColumnPaginationController.java | 12 +- .../db/mpp/plan/analyze/ExpressionAnalyzer.java | 331 +- .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 78 + .../mpp/plan/analyze/FakePartitionFetcherImpl.java | 79 +- .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java | 8 +- .../mpp/plan/analyze/GroupByLevelController.java | 74 +- .../db/mpp/plan/analyze/IPartitionFetcher.java | 3 + .../iotdb/db/mpp/plan/analyze/SchemaValidator.java | 22 +- .../plan/analyze/StandalonePartitionFetcher.java | 197 +- .../mpp/plan/analyze/StandaloneSchemaFetcher.java | 229 +- .../iotdb/db/mpp/plan/analyze/TypeProvider.java | 10 + .../db/mpp/plan/constant/DataNodeEndPoints.java | 39 + .../iotdb/db/mpp/plan/constant/StatementType.java | 3 +- .../db/mpp/plan/execution/IQueryExecution.java | 2 + .../db/mpp/plan/execution/QueryExecution.java | 234 +- .../execution/config/AuthorizerConfigTask.java | 87 - .../mpp/plan/execution/config/AuthorizerTask.java | 48 + .../mpp/plan/execution/config/ConfigExecution.java | 47 +- .../plan/execution/config/ConfigTaskVisitor.java | 35 +- .../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 | 95 + .../plan/execution/config/ShowDataNodesTask.java | 78 + .../plan/execution/config/ShowFunctionsTask.java | 150 + .../mpp/plan/execution/config/ShowRegionTask.java | 86 + .../execution/config/ShowStorageGroupTask.java | 64 +- .../db/mpp/plan/execution/config/ShowTTLTask.java | 85 +- .../config/executor/ClusterConfigTaskExecutor.java | 367 ++ .../config/executor/IConfigTaskExecutor.java | 67 + .../executor/StandaloneConfigTaskExecutor.java | 297 + .../plan/execution/memory/MemorySourceHandle.java | 8 +- .../memory/StatementMemorySourceVisitor.java | 92 +- .../iotdb/db/mpp/plan/expression/Expression.java | 28 +- .../db/mpp/plan/expression/ExpressionType.java | 15 +- .../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 | 28 +- .../plan/expression/ternary/BetweenExpression.java | 110 + .../plan/expression/ternary/TernaryExpression.java | 336 + .../db/mpp/plan/expression/unary/InExpression.java | 36 +- .../plan/expression/unary/IsNullExpression.java | 88 + .../mpp/plan/expression/unary/LikeExpression.java | 14 +- .../plan/expression/unary/RegularExpression.java | 12 +- .../mpp/plan/expression/unary/UnaryExpression.java | 6 + .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 179 +- .../db/mpp/plan/parser/StatementGenerator.java | 1 + .../db/mpp/plan/planner/LocalExecutionPlanner.java | 155 +- .../db/mpp/plan/planner/LogicalPlanBuilder.java | 222 +- .../iotdb/db/mpp/plan/planner/LogicalPlanner.java | 204 +- .../distribution/DistributionPlanContext.java | 17 + .../planner/distribution/DistributionPlanner.java | 7 +- .../planner/distribution/ExchangeNodeAdder.java | 37 +- .../SimpleFragmentParallelPlanner.java | 4 +- .../plan/planner/distribution/SourceRewriter.java | 220 +- .../db/mpp/plan/planner/plan/FragmentInstance.java | 61 +- .../db/mpp/plan/planner/plan/PlanFragment.java | 16 +- .../plan/planner/plan/node/DeleteRegionNode.java | 109 - .../plan/planner/plan/node/PlanGraphPrinter.java | 178 +- .../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 | 23 +- .../mpp/plan/planner/plan/node/PlanNodeUtil.java | 9 + .../db/mpp/plan/planner/plan/node/PlanVisitor.java | 11 +- .../node/metedata/read/CountSchemaMergeNode.java | 7 + .../plan/node/metedata/read/DevicesCountNode.java | 9 + .../node/metedata/read/DevicesSchemaScanNode.java | 17 + .../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 | 9 +- .../node/metedata/read/SchemaFetchScanNode.java | 19 + .../node/metedata/read/SchemaQueryMergeNode.java | 7 + .../metedata/read/SchemaQueryOrderByHeatNode.java | 40 +- .../node/metedata/read/SchemaQueryScanNode.java | 8 + .../node/metedata/read/TimeSeriesCountNode.java | 9 + .../metedata/read/TimeSeriesSchemaScanNode.java | 15 + .../node/metedata/write/AlterTimeSeriesNode.java | 51 +- .../write/CreateAlignedTimeSeriesNode.java | 86 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 25 +- .../node/metedata/write/CreateTimeSeriesNode.java | 75 +- .../node/metedata/write/DeleteTimeSeriesNode.java | 11 + .../write/InternalCreateTimeSeriesNode.java | 155 + .../metedata/write/InvalidateSchemaCacheNode.java | 16 + .../plan/node/metedata/write/MeasurementGroup.java | 82 +- .../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 | 39 +- .../plan/planner/plan/node/process/FilterNode.java | 33 +- .../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 | 28 +- .../plan/planner/plan/node/process/SortNode.java | 8 + .../planner/plan/node/process/TimeJoinNode.java | 8 + .../planner/plan/node/process/TransformNode.java | 43 +- .../planner/plan/node/sink/FragmentSinkNode.java | 18 +- .../plan/node/source/AlignedLastQueryScanNode.java | 13 +- .../source/AlignedSeriesAggregationScanNode.java | 36 + .../plan/node/source/AlignedSeriesScanNode.java | 28 +- .../plan/node/source/LastQueryScanNode.java | 13 +- .../node/source/SeriesAggregationScanNode.java | 29 +- .../planner/plan/node/source/SeriesScanNode.java | 28 +- .../planner/plan/node/write/DeleteDataNode.java | 51 +- .../plan/node/write/InsertMultiTabletsNode.java | 31 +- .../plan/planner/plan/node/write/InsertNode.java | 28 +- .../planner/plan/node/write/InsertRowNode.java | 111 +- .../planner/plan/node/write/InsertRowsNode.java | 33 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 63 +- .../planner/plan/node/write/InsertTabletNode.java | 205 +- .../plan/parameter/AggregationDescriptor.java | 90 +- .../planner/plan/parameter/AggregationStep.java | 7 + .../planner/plan/parameter/FillDescriptor.java | 9 + .../plan/parameter/FilterNullParameter.java | 10 + .../plan/parameter/GroupByLevelDescriptor.java | 15 +- .../plan/parameter/GroupByTimeParameter.java | 25 +- .../scheduler/AbstractFragInsStateTracker.java | 1 - .../db/mpp/plan/scheduler/ClusterScheduler.java | 59 +- .../scheduler/FixedRateFragInsStateTracker.java | 14 +- .../plan/scheduler/FragInstanceDispatchResult.java | 13 + .../scheduler/FragmentInstanceDispatcherImpl.java | 102 +- .../scheduler/SimpleFragInstanceDispatcher.java | 89 - .../mpp/plan/scheduler/SimpleQueryTerminator.java | 64 +- .../db/mpp/plan/scheduler/StandaloneScheduler.java | 128 +- .../db/mpp/plan/statement/StatementVisitor.java | 43 +- .../statement/component/GroupByLevelComponent.java | 13 + .../db/mpp/plan/statement/component/OrderBy.java | 13 +- .../plan/statement/crud/InsertBaseStatement.java | 4 + .../crud/InsertMultiTabletsStatement.java | 18 + .../plan/statement/crud/InsertRowStatement.java | 12 + .../crud/InsertRowsOfOneDeviceStatement.java | 9 + .../plan/statement/crud/InsertRowsStatement.java | 17 + .../mpp/plan/statement/crud/InsertStatement.java | 29 + .../plan/statement/crud/InsertTabletStatement.java | 14 + .../db/mpp/plan/statement/crud/QueryStatement.java | 3 +- .../InternalCreateTimeSeriesStatement.java | 96 + .../statement/internal/SchemaFetchStatement.java | 2 +- .../mpp/plan/statement/literal/BooleanLiteral.java | 23 +- .../mpp/plan/statement/literal/DoubleLiteral.java | 23 +- .../db/mpp/plan/statement/literal/Literal.java | 6 + .../db/mpp/plan/statement/literal/LongLiteral.java | 22 +- .../db/mpp/plan/statement/literal/NullLiteral.java | 18 + .../mpp/plan/statement/literal/StringLiteral.java | 13 + .../CreateTimeSeriesByDeviceStatement.java | 68 - .../statement/metadata/ShowClusterStatement.java | 36 + .../statement/metadata/ShowDataNodesStatement.java | 54 + .../statement/metadata/ShowFunctionsStatement.java | 46 + .../statement/metadata/ShowRegionStatement.java | 54 + .../mpp/plan/statement/sys/ExplainStatement.java | 50 + .../db/mpp/plan/statement/sys/FlushStatement.java | 91 + .../plan/statement/sys/ShowVersionStatement.java | 33 + .../mpp/transformation/api/LayerPointReader.java | 2 +- .../db/mpp/transformation/api/LayerRowReader.java | 4 +- .../transformation/api/LayerRowWindowReader.java | 4 +- .../db/mpp/transformation/api/YieldableReader.java | 29 + .../db/mpp/transformation/api/YieldableState.java | 26 + ...ializableRowRecordListBackedMultiColumnRow.java | 16 +- ...izableRowRecordListBackedMultiColumnWindow.java | 12 +- ...wRecordListBackedMultiColumnWindowIterator.java | 4 +- ...ticSerializableTVListBackedSingleColumnRow.java | 14 +- ...SerializableTVListBackedSingleColumnWindow.java | 13 +- ...ableTVListBackedSingleColumnWindowIterator.java | 4 +- .../LayerPointReaderBackedSingleColumnRow.java | 14 +- .../dag/input/ConstantInputReader.java | 10 +- .../transformation/dag/input/IUDFInputDataSet.java | 50 + .../dag/input/QueryDataSetInputLayer.java | 70 +- .../dag/input/TsBlockInputDataSet.java | 37 +- .../intermediate/ConstantIntermediateLayer.java | 4 +- .../dag/intermediate/IntermediateLayer.java | 6 +- .../MultiInputColumnIntermediateLayer.java | 363 +- ...InputColumnMultiReferenceIntermediateLayer.java | 202 +- ...nputColumnSingleReferenceIntermediateLayer.java | 168 +- .../dag/transformer/Transformer.java | 40 + .../dag/transformer/binary/BinaryTransformer.java | 75 +- .../transformer/binary/LogicBinaryTransformer.java | 119 +- .../transformer/multi/UDFQueryRowTransformer.java | 15 + .../multi/UDFQueryRowWindowTransformer.java | 12 + .../dag/transformer/multi/UDFQueryTransformer.java | 26 +- .../transformer/ternary/BetweenTransformer.java | 67 + .../ternary/CompareTernaryTransformer.java | 86 + .../transformer/ternary/TernaryTransformer.java | 265 + .../dag/transformer/unary/InTransformer.java | 38 +- .../dag/transformer/unary/IsNullTransformer.java | 70 + .../dag/transformer/unary/RegularTransformer.java | 8 +- .../dag/transformer/unary/UnaryTransformer.java | 22 + .../mpp/transformation/dag/udf/UDTFExecutor.java | 24 +- .../transformation/dag/udf/UDTFTypeInferrer.java | 17 +- .../mpp/transformation/dag/util/InputRowUtils.java | 2 +- .../transformation/dag/util/LayerCacheUtils.java | 93 +- .../tv/ElasticSerializableBinaryTVList.java | 15 +- .../tv/ElasticSerializableTVList.java | 33 +- .../influxdb/meta/InfluxDBMetaManager.java | 3 +- .../iotdb/db/protocol/mpprest/MPPRestService.java | 162 + .../protocol/mpprest/filter/ApiOriginFilter.java | 45 + .../mpprest/filter/AuthorizationFilter.java | 138 + .../mpprest/filter/BasicSecurityContext.java | 56 + .../iotdb/db/protocol/mpprest/filter/User.java | 38 + .../db/protocol/mpprest/filter/UserCache.java | 56 + .../mpprest/handler/AuthorizationHandler.java | 47 + .../protocol/mpprest/handler/ExceptionHandler.java | 75 + .../mpprest/handler/QueryDataSetHandler.java | 252 + .../mpprest/handler/RequestValidationHandler.java | 53 + .../handler/StatementConstructionHandler.java | 157 + .../mpprest/impl/GrafanaApiServiceImpl.java | 245 + .../protocol/mpprest/impl/PingApiServiceImpl.java | 51 + .../protocol/mpprest/impl/RestApiServiceImpl.java | 193 + .../db/protocol/mqtt/JSONPayloadFormatter.java | 15 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 163 + .../apache/iotdb/db/protocol/rest/RestService.java | 13 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 11 +- .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 13 +- .../qp/physical/crud/InsertMultiTabletsPlan.java | 6 + .../iotdb/db/qp/physical/crud/InsertPlan.java | 2 + .../iotdb/db/qp/physical/crud/InsertRowPlan.java | 12 +- .../physical/crud/InsertRowsOfOneDevicePlan.java | 6 + .../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 6 + .../db/qp/physical/crud/InsertTabletPlan.java | 35 + .../iotdb/db/qp/physical/crud/SelectIntoPlan.java | 2 +- .../iotdb/db/qp/physical/sys/AuthorPlan.java | 26 +- .../physical/sys/CreateAlignedTimeSeriesPlan.java | 2 +- .../qp/physical/sys/CreateMultiTimeSeriesPlan.java | 2 +- .../db/qp/physical/sys/CreateTriggerPlan.java | 2 +- .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 85 +- .../iotdb/db/query/control/SessionManager.java | 33 +- .../db/query/control/SessionTimeoutManager.java | 4 +- .../db/query/dataset/AlignByDeviceDataSet.java | 3 +- .../iotdb/db/query/dataset/IUDFInputDataSet.java | 42 - .../dataset/RawQueryDataSetWithValueFilter.java | 1 + .../iotdb/db/query/dataset/UDFInputDataSet.java | 1 + .../UDFRawQueryInputDataSetWithoutValueFilter.java | 1 + .../db/query/dataset/UDTFAlignByTimeDataSet.java | 1 + .../apache/iotdb/db/query/dataset/UDTFDataSet.java | 1 + .../groupby/impl/LocalAlignedGroupByExecutor.java | 81 +- .../groupby/impl/LocalGroupByExecutor.java | 59 +- .../query/reader/chunk/MemAlignedPageReader.java | 52 +- .../iotdb/db/rescon/PrimitiveArrayManager.java | 6 +- .../java/org/apache/iotdb/db/service/DataNode.java | 233 +- .../db/service/DataNodeInternalRPCService.java | 109 + .../service/DataNodeInternalRPCServiceMBean.java | 22 + .../apache/iotdb/db/service/InternalService.java | 94 - .../iotdb/db/service/InternalServiceMBean.java | 22 - .../java/org/apache/iotdb/db/service/IoTDB.java | 38 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 18 +- .../org/apache/iotdb/db/service/MQTTService.java | 12 +- .../java/org/apache/iotdb/db/service/NewIoTDB.java | 243 + .../org/apache/iotdb/db/service/NewIoTDBMBean.java | 28 + .../org/apache/iotdb/db/service/RPCService.java | 22 +- .../db/service/basic/QueryFrequencyRecorder.java | 4 +- .../iotdb/db/service/metrics/enums/Metric.java | 10 +- .../db/service/metrics/predefined/FileMetrics.java | 39 +- .../metrics/recorder/CacheMetricsRecorder.java | 65 + .../recorder/CompactionMetricsRecorder.java | 175 + .../db/service/thrift/ProcessorWithMetrics.java | 4 +- .../handler/InternalServiceThriftHandler.java | 18 +- .../thrift/handler/RPCServiceThriftHandler.java | 23 +- .../service/thrift/impl/ClientRPCServiceImpl.java | 1324 ++++ .../impl/DataNodeInternalRPCServiceImpl.java | 551 ++ .../thrift/impl/DataNodeTSIServiceImpl.java | 1302 ---- .../thrift/impl/IClientRPCServiceWithHandler.java | 25 + .../service/thrift/impl/InfluxDBServiceImpl.java | 3 +- .../service/thrift/impl/InternalServiceImpl.java | 414 -- .../db/service/thrift/impl/TSIEventHandler.java | 25 - .../db/service/thrift/impl/TSServiceImpl.java | 4 +- .../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/TransportServerManager.java | 14 + .../server/TransportServerThriftHandler.java | 21 + .../transport/server/TransportServiceImpl.java | 29 +- .../java/org/apache/iotdb/db/tools/WalChecker.java | 15 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 30 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 6 + .../db/utils/datastructure/AlignedTVList.java | 6 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 6 +- .../db/utils/datastructure/BooleanTVList.java | 6 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 6 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 6 +- .../iotdb/db/utils/datastructure/IntTVList.java | 6 +- .../iotdb/db/utils/datastructure/LongTVList.java | 6 +- .../java/org/apache/iotdb/db/wal/WALManager.java | 50 +- .../allocation/AbstractNodeAllocationStrategy.java | 5 +- .../db/wal/allocation/FirstCreateStrategy.java | 22 +- .../iotdb/db/wal/buffer/AbstractWALBuffer.java | 55 +- .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java | 8 +- .../apache/iotdb/db/wal/buffer/SignalWALEntry.java | 2 +- .../org/apache/iotdb/db/wal/buffer/WALBuffer.java | 86 +- .../org/apache/iotdb/db/wal/buffer/WALEntry.java | 22 +- .../iotdb/db/wal/checkpoint/CheckpointManager.java | 16 +- .../iotdb/db/wal/checkpoint/MemTableInfo.java | 24 +- .../apache/iotdb/db/wal/io/CheckpointReader.java | 6 +- .../org/apache/iotdb/db/wal/io/ILogWriter.java | 11 +- .../java/org/apache/iotdb/db/wal/io/LogWriter.java | 8 +- .../java/org/apache/iotdb/db/wal/io/WALWriter.java | 13 + .../org/apache/iotdb/db/wal/node/IWALNode.java | 10 +- .../org/apache/iotdb/db/wal/node/WALFakeNode.java | 15 +- .../java/org/apache/iotdb/db/wal/node/WALNode.java | 315 +- .../db/wal/recover/CheckpointRecoverUtils.java | 14 +- .../iotdb/db/wal/recover/WALNodeRecoverTask.java | 74 +- .../iotdb/db/wal/recover/WALRecoverManager.java | 83 +- .../db/wal/recover/file/TsFilePlanRedoer.java | 4 +- .../apache/iotdb/db/wal/utils/WALFileStatus.java | 50 + .../apache/iotdb/db/wal/utils/WALFileUtils.java | 63 +- .../iotdb/db/auth/AuthorizerManagerTest.java | 38 +- .../engine/compaction/CompactionSchedulerTest.java | 95 +- .../compaction/CompactionTaskComparatorTest.java | 82 +- .../compaction/CompactionTaskManagerTest.java | 133 +- .../ReadPointCompactionPerformerTest.java | 137 +- .../cross/CrossSpaceCompactionExceptionTest.java | 27 +- .../compaction/cross/CrossSpaceCompactionTest.java | 15 +- .../RewriteCrossSpaceCompactionRecoverTest.java | 37 +- .../cross/RewriteCrossSpaceCompactionTest.java | 20 +- .../inner/InnerCompactionEmptyTsFileTest.java | 9 +- .../compaction/inner/InnerCompactionLogTest.java | 1 - .../inner/InnerCompactionMoreDataTest.java | 5 +- .../inner/InnerCompactionSchedulerTest.java | 4 - .../compaction/inner/InnerSeqCompactionTest.java | 17 +- .../inner/InnerSpaceCompactionExceptionTest.java | 30 +- .../compaction/inner/InnerUnseqCompactionTest.java | 12 +- .../ReadChunkCompactionPerformerAlignedTest.java | 30 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 48 +- .../inner/ReadChunkCompactionPerformerOldTest.java | 7 +- .../SizeTieredCompactionRecoverTest.java | 70 +- .../SizeTieredCompactionRecoverCompatibleTest.java | 18 +- .../recover/SizeTieredCompactionRecoverTest.java | 38 +- .../db/engine/storagegroup/DataRegionTest.java | 21 +- .../storagegroup/StorageGroupProcessorTest.java | 9 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 24 +- .../iotdb/db/metadata/idtable/IDTableTest.java | 2 +- .../db/metadata/mtree/disk/MemManagerTest.java | 6 +- .../db/metadata/schemaRegion/SchemaRegionTest.java | 70 +- .../db/metadata/upgrade/MetadataUpgradeTest.java | 9 +- .../db/mpp/aggregation/TimeRangeIteratorTest.java | 22 +- .../mpp/common/schematree/PathPatternTreeTest.java | 10 +- .../db/mpp/common/schematree/SchemaTreeTest.java | 46 +- .../db/mpp/execution/ConfigExecutionTest.java | 7 +- .../iotdb/db/mpp/execution/DataDriverTest.java | 4 +- .../datatransfer/DataBlockManagerTest.java | 121 - .../datatransfer/LocalSinkHandleTest.java | 153 - .../datatransfer/LocalSourceHandleTest.java | 119 - .../datatransfer/SharedTsBlockQueueTest.java | 160 - .../mpp/execution/datatransfer/SinkHandleTest.java | 528 -- .../execution/datatransfer/SourceHandleTest.java | 642 -- .../mpp/execution/datatransfer/StubSinkHandle.java | 99 - .../iotdb/db/mpp/execution/datatransfer/Utils.java | 112 - .../execution/exchange/LocalSinkHandleTest.java | 153 + .../execution/exchange/LocalSourceHandleTest.java | 119 + .../exchange/MPPDataExchangeManagerTest.java | 123 + .../execution/exchange/SharedTsBlockQueueTest.java | 166 + .../db/mpp/execution/exchange/SinkHandleTest.java | 524 ++ .../mpp/execution/exchange/SourceHandleTest.java | 637 ++ .../db/mpp/execution/exchange/StubSinkHandle.java | 99 + .../iotdb/db/mpp/execution/exchange/Utils.java | 112 + .../execution/memory/MemorySourceHandleTest.java | 2 +- .../operator/AggregationOperatorTest.java | 3 +- .../execution/operator/LinearFillOperatorTest.java | 608 +- .../operator/RawDataAggregationOperatorTest.java | 12 + .../SlidingWindowAggregationOperatorTest.java | 7 +- .../schema/SchemaFetchScanOperatorTest.java | 17 +- .../schema/SchemaQueryScanOperatorTest.java | 3 +- .../schedule/DefaultDriverSchedulerTest.java | 41 +- .../execution/schedule/DriverSchedulerTest.java | 13 +- .../DriverTaskTimeoutSentinelThreadTest.java | 11 +- .../db/mpp/plan/StandaloneCoordinatorTest.java | 151 + .../plan/analyze/AggregationDescriptorTest.java | 61 +- .../mpp/plan/plan/FragmentInstanceSerdeTest.java | 23 +- .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java | 20 +- .../db/mpp/plan/plan/QueryLogicalPlanUtil.java | 128 +- .../distribution/AggregationDistributionTest.java | 293 +- .../distribution/NoDataRegionPlanningTest.java | 84 + .../iotdb/db/mpp/plan/plan/distribution/Util.java | 4 +- .../metadata/read/SchemaFetchScanNodeTest.java | 9 +- .../node/process/AggregationNodeSerdeTest.java | 36 +- .../plan/plan/node/process/FillNodeSerdeTest.java | 3 +- .../plan/node/process/FilterNodeSerdeTest.java | 3 +- .../node/process/GroupByLevelNodeSerdeTest.java | 18 +- .../source/SeriesAggregationScanNodeSerdeTest.java | 2 +- .../plan/node/write/DeleteRegionNodeSerdeTest.java | 60 - .../plan/scheduler/StandaloneSchedulerTest.java | 518 ++ .../db/protocol/mqtt/JSONPayloadFormatterTest.java | 58 + .../iotdb/db/protocol/mqtt/PublishHandlerTest.java | 7 +- .../db/protocol/rest/GrafanaApiServiceIT.java | 359 - .../db/protocol/rest/GrafanaApiServiceTest.java | 359 + .../iotdb/db/protocol/rest/IoTDBRestServiceIT.java | 895 --- .../db/protocol/rest/IoTDBRestServiceTest.java | 895 +++ .../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 5 +- .../ElasticSerializableTVListTest.java | 6 +- .../apache/iotdb/db/query/udf/example/Adder.java | 26 +- .../org/apache/iotdb/db/script/EnvScriptIT.java | 9 +- .../DataNodeInternalRPCServiceImplTest.java | 345 + .../iotdb/db/service/InternalServiceImplTest.java | 400 -- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 13 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 5 +- .../datastructure/PrimitiveArrayManagerTest.java | 42 + .../db/wal/allocation/FirstCreateStrategyTest.java | 3 +- .../db/wal/checkpoint/CheckpointManagerTest.java | 16 +- .../apache/iotdb/db/wal/io/CheckpointFileTest.java | 8 +- .../org/apache/iotdb/db/wal/io/WALFileTest.java | 7 +- .../iotdb/db/wal/node/ConsensusReqReaderTest.java | 68 +- .../org/apache/iotdb/db/wal/node/WALNodeTest.java | 37 +- .../db/wal/recover/WALRecoverManagerTest.java | 14 +- .../db/wal/recover/file/TsFilePlanRedoerTest.java | 303 + .../iotdb/db/wal/utils/WALFileUtilsTest.java | 162 +- .../datanode1conf/iotdb-datanode.properties | 38 + .../datanode1conf/iotdb-engine.properties | 38 - .../test/resources/datanode1conf/iotdb-metric.yml | 34 +- .../datanode2conf/iotdb-datanode.properties | 38 + .../datanode2conf/iotdb-engine.properties | 38 - .../test/resources/datanode2conf/iotdb-metric.yml | 34 +- .../datanode3conf/iotdb-datanode.properties | 38 + .../datanode3conf/iotdb-engine.properties | 38 - .../test/resources/datanode3conf/iotdb-metric.yml | 34 +- .../src/test/resources/iotdb-datanode.properties | 30 + server/src/test/resources/iotdb-engine.properties | 30 - server/src/test/resources/iotdb-rest.properties | 3 + server/src/test/resources/logback-test.xml | 1 + .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 26 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 15 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 20 +- .../org/apache/iotdb/rpc/SynchronizedHandler.java | 6 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 20 +- .../java/org/apache/iotdb/session/Session.java | 43 +- .../apache/iotdb/session/SessionConnection.java | 18 +- .../org/apache/iotdb/session/SessionDataSet.java | 6 +- .../apache/iotdb/session/SessionCacheLeaderUT.java | 150 +- session/src/test/resources/iotdb-rest.properties | 3 + site/src/main/.vuepress/config.js | 20 +- testcontainer/Readme.md | 8 +- testcontainer/pom.xml | 26 - .../java/org/apache/iotdb/db/sql/SingleNodeIT.java | 4 +- .../src/test/resources/1node/docker-compose.yaml | 44 - .../test/resources/1node/iotdb-cluster.properties | 35 - .../src/test/resources/3nodes/docker-compose.yaml | 44 - .../test/resources/3nodes/iotdb-cluster.properties | 35 - .../src/test/resources/5nodes/docker-compose.yaml | 43 - .../test/resources/5nodes/iotdb-cluster.properties | 35 - .../src/test/resources/iotdb-datanode.properties | 24 + .../src/test/resources/iotdb-engine.properties | 24 - thrift-cluster/README.md | 22 - thrift-cluster/pom.xml | 72 - thrift-cluster/rpc-changelist.md | 181 - thrift-cluster/src/main/thrift/cluster.thrift | 584 -- thrift-commons/src/main/thrift/common.thrift | 60 +- .../src/main/thrift/confignode.thrift | 108 +- .../src/main/thrift/mutlileader.thrift | 8 +- thrift/src/main/thrift/client.thrift | 499 ++ thrift/src/main/thrift/datanode.thrift | 299 + thrift/src/main/thrift/mpp.thrift | 259 - thrift/src/main/thrift/rpc.thrift | 499 -- .../iotdb/tsfile/common/conf/TSFileConfig.java | 2 +- .../tsfile/file/metadata/enums/TSDataType.java | 6 +- .../file/metadata/statistics/Statistics.java | 20 +- .../file/metadata/statistics/TimeStatistics.java | 14 + .../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/TimeColumn.java | 4 + .../read/common/block/column/TsBlockSerde.java | 19 +- .../iotdb/tsfile/read/filter/TimeFilter.java | 12 + .../tsfile/read/filter/factory/FilterFactory.java | 4 + .../read/filter/factory/FilterSerializeId.java | 3 +- .../iotdb/tsfile/read/filter/operator/Between.java | 141 + .../tsfile/read/query/dataset/QueryDataSet.java | 4 + .../iotdb/tsfile/read/reader/LocalTsFileInput.java | 43 +- .../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 +- .../common/block/RunLengthColumnEncoderTest.java | 101 + udf-api/pom.xml | 60 + .../main/java/org/apache/iotdb/udf/api/UDF.java | 40 + .../main/java/org/apache/iotdb/udf/api/UDTF.java | 120 + .../java/org/apache/iotdb/udf/api/access/Row.java | 130 + .../apache/iotdb/udf/api/access/RowIterator.java | 47 + .../org/apache/iotdb/udf/api/access/RowWindow.java | 102 + .../iotdb/udf/api/collector/PointCollector.java | 137 + .../api/customizer/config/UDFConfigurations.java | 37 + .../api/customizer/config/UDTFConfigurations.java | 105 + .../parameter/UDFParameterValidator.java | 202 + .../api/customizer/parameter/UDFParameters.java | 138 + .../api/customizer/strategy/AccessStrategy.java | 57 + .../strategy/RowByRowAccessStrategy.java | 61 + .../strategy/SlidingSizeWindowAccessStrategy.java | 123 + .../strategy/SlidingTimeWindowAccessStrategy.java | 230 + .../UDFAttributeNotProvidedException.java | 27 + .../iotdb/udf/api/exception/UDFException.java | 31 + .../UDFInputSeriesDataTypeNotValidException.java | 41 + .../UDFInputSeriesIndexNotValidException.java | 30 + .../UDFInputSeriesNumberNotValidException.java | 38 + .../UDFOutputSeriesDataTypeNotValidException.java | 30 + .../exception/UDFParameterNotValidException.java | 27 + .../api/exception/UDFRegistrationException.java | 32 + .../java/org/apache/iotdb/udf/api/type/Binary.java | 150 + .../java/org/apache/iotdb/udf/api/type/Type.java | 50 + 1963 files changed, 115469 insertions(+), 135165 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java index 5fa2b7a6d1,54834733e7..c8ceecd187 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java @@@ -125,8 -129,9 +129,9 @@@ import java.util.Set import java.util.TreeMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; + import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
