This is an automated email from the ASF dual-hosted git repository. hui pushed a change to branch lmh/udfSemanticCheck in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 2db92fcc31 fix IT add 81c363e8dc [IOTDB-3260] Fix npe while concurrent delete storage group (#6428) add d3c4b6c7b7 Remove more code about old cluster module (#6461) add 31e77506b3 Update cluster UserGuide and Config-Manual (#6460) add aa5f219a82 [IOTDB-3665] Optimization of configuring consensus protocol type on data node (#6466) add 34577f3169 [IOTDB-3664] Modify python client test code (#6465) add 3fadcfeab8 [IOTDB-3254][IOTDB-3492] Fix storage group related error message (#6462) add 5142ef319d fix bug when count wal files. (#6463) add 823bddf1d0 [IOTDB-3532][metric] Fix some problem in grafana dashboard and add doc. (#6467) add 2ab81ae760 update Maintenance-Command.md (#6454) add 3008429c95 [IOTDB-3629] Fix TimeJoinOperator may cause Source handle is blocked exception (#6469) add 58680be34d update it doc (#6452) add 75e2bb5ed7 not initialize thread pool in CompactionTaskManager if all compaction is disable (#6472) add 3e24176780 Fix joining cluster after deactivating IoTDB DataNode (#6475) add 554665ef95 [IOTDB-3353] Refactor insert exception processing (#6451) add ea437401d0 [IOTDB-3548] Fix not enough dataNode error msg (#6476) add aa15d1a540 [IOTDB-3501] Add IT for syntax convention in new cluster (#6456) add 58a0a62fef [IOTDB-3606] Add path related IT in new cluster (#6458) add 0525417abe Remove grafana connector and rename server to datanode in distribution package (#6477) add e16cf90c1e [IOTDB-3677] Fix NPE while calling QueryExecution.getBatchResult (#6479) add b7af23a4bd [IOTDB-3636] Fix delete non existing sg error msg (#6478) add d05dcde13c [IOTDB-3391] && [IOTDB-3372] Judge ConfigNode status through heartbeat && show cluster did not return a correct result when stop a datanode or confignode (#6402) add b6ca325434 Add default pool size for data block exchange pool (#6480) add 3fe0263838 temporarily close partition cache. (#6486) add da6a90cceb [IOTDB-3682] Add DriverScheduler configuration into iotdb-datanode.properties (#6482) add eeaeac0726 Add Cluster function figure and rename thrift file and class name (#6481) add 015a4960d3 [IOTDB-3672] Fix reloading online config nodes from configuration (#6492) add ad60df6178 grafana plugin add password input type and optimization (#6052) add a06761911d RatisConsensus set default flush to unsafe (#6487) add b1ba13eed1 [IOTDB-3688] Prevent initializing region consensus caused by heartbeat (#6496) add d95b453b4f [IOTDB-3687] Rename config_nodes to target_config_nodes (#6495) add 6059b68267 [IOTDB-3685] Create parameter schema_region_per_data_node and data_region_per_processor in ConfigNode (#6488) add bdebd1de25 [IOTDB-3684] Fail to read wal from wal file caused by FileNotFoundException (#6494) add e470f2a748 url (#6493) add 0cba5e68d4 infer types for expressions in where clause (#6474) add 25d442ad83 [IOTDB-3159] Granting the user privileges to create_user does not require adding a path (#6485) add c5dd57e66a Add cluster setup command in UserGuide (#6502) add c0f46caae9 Add configuration (#6503) add 7b9f1da03d Add 0.14.0-preview1 release note (#6505) add 0df692b41e update quickstart (#6507) add 2fcc203c0a fix cross compaction logs (#6504) add 7909228dce [IOTDB-3666] Rename XXReq in ConfigNode to XXPlan (#6490) add 811a267795 [IOTDB-3525] Apply Producer-Consumer pattern to compaction submission (#6378) add 209627e318 change test to force flush (#6510) add 396a36dd45 [IOTDB-3692] Auto create sg configuration doesn't take effect add 2daf974568 [IOTDB-3372] Divide the Slots in the display results of show regions into two columns: series slots and time slots (#6499) add 9f2e48b9b1 add login interceptor (#6516) add c42338157e Fix python client license check (#6521) add 243a6da182 [IOTDB-3469] Support set TTL in new cluster (#6453) add 62eeda76db Change rpc_address of ConfigNode to internal_address (#6506) add 826a0e4818 [IOTDB-3509] Read/Write Routing Policy (Routing to leader) (#6377) add 1b5347dcd4 fix login check. (#6534) add 71a43a524e [IOTDB-3648] Reinforce ConfigNode startup process (#6524) add 897ed48ec9 [IOTDB-3247] Recover aligned sensors after deleting timeseries, query lost data (#6468) add 558c532083 [IOTDB-3556] Maintain onlineConfigNodes by LoadManager (#6532) add deb9732b43 Fix the issues in MultiLeader log dispatcher (#6484) add b8efd24d10 fixed grafana plugin workflow failed (#6550) add 77b1566ebd [IOTDB-3564] Reduce the number of I/O threads using thrift asynchronous server mode for MultiLeaderConsensusRPC (#6528) add 0b7cdfba2c [IOTDB-3498] [IOTDB-3517] Add ITs related to the group by & query result set in MPP (#6373) add c002ab94a3 [IOTDB-3322] Support RestApi for MPP framework (#6536) add 6924bef386 [IOTDB-3173] Support Between expression (#6483) add a38063fcd6 [IOTDB-3710] Get latest RegionRouteMap (#6554) add d08093e531 [IOTDB-3529] Rename Region to RegionGroup and optimize the SetTTL process (#6552) add f3aadc1d2c Emergency fix for the stop-confignode script (#6560) add 708a08c9b7 [IOTDB-3528] Filter DataNode which may not be ready in ConfigNode (#6539) add 3899c4dedc Merge remote-tracking branch 'origin/master' into lmh/udfSemanticCheck add 2ea73774f3 remove duplicate code No new revisions were added by this update. Summary of changes: .github/workflows/main-unix.yml | 3 +- .github/workflows/main-win.yml | 14 +- RELEASE_NOTES.md | 132 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 1 + .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 2 + 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/iotdb/Session.py | 4 +- client-py/iotdb/utils/IoTDBRpcDataSet.py | 2 +- client-py/tests/test_template.py | 3 +- .../resources/conf/iotdb-confignode.properties | 61 +- .../assembly/resources/sbin/stop-confignode.bat | 10 +- .../src/assembly/resources/sbin/stop-confignode.sh | 6 +- .../client/AsyncConfigNodeClientPool.java | 72 + .../confignode/client/AsyncDataNodeClientPool.java | 57 +- .../client/SyncConfigNodeClientPool.java | 31 +- ...andler.java => ConfigNodeHeartbeatHandler.java} | 34 +- .../client/handlers/DataNodeHeartbeatHandler.java | 81 + .../{HeartbeatHandler.java => SetTTLHandler.java} | 35 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 93 +- .../iotdb/confignode/conf/ConfigNodeConstant.java | 8 - .../confignode/conf/ConfigNodeDescriptor.java | 53 +- .../confignode/conf/ConfigNodeRemoveCheck.java | 6 +- .../confignode/conf/ConfigNodeStartupCheck.java | 322 +-- .../confignode/conf/SystemPropertiesUtils.java | 270 ++ ...{ConfigRequest.java => ConfigPhysicalPlan.java} | 138 +- ...equestType.java => ConfigPhysicalPlanType.java} | 3 +- .../auth/{AuthorReq.java => AuthorPlan.java} | 60 +- ...ageGroupReq.java => CountStorageGroupPlan.java} | 18 +- ...taNodeInfoReq.java => GetDataNodeInfoPlan.java} | 16 +- ...PartitionReq.java => GetDataPartitionPlan.java} | 16 +- ...tionReq.java => GetNodePathsPartitionPlan.java} | 12 +- ...nReq.java => GetOrCreateDataPartitionPlan.java} | 8 +- ...eq.java => GetOrCreateSchemaPartitionPlan.java} | 8 +- ...InfoListReq.java => GetRegionInfoListPlan.java} | 14 +- ...rtitionReq.java => GetSchemaPartitionPlan.java} | 16 +- ...orageGroupReq.java => GetStorageGroupPlan.java} | 12 +- ...rDataNodeReq.java => ActivateDataNodePlan.java} | 16 +- ...Req.java => AdjustMaxRegionGroupCountPlan.java} | 14 +- ...ConfigNodeReq.java => ApplyConfigNodePlan.java} | 16 +- ...titionReq.java => CreateDataPartitionPlan.java} | 14 +- ...ateFunctionReq.java => CreateFunctionPlan.java} | 14 +- ...RegionsReq.java => CreateRegionGroupsPlan.java} | 14 +- ...tionReq.java => CreateSchemaPartitionPlan.java} | 14 +- ...eProcedureReq.java => DeleteProcedurePlan.java} | 14 +- ...eleteRegionsReq.java => DeleteRegionsPlan.java} | 14 +- ...geGroupReq.java => DeleteStorageGroupPlan.java} | 16 +- ...{DropFunctionReq.java => DropFunctionPlan.java} | 14 +- ...roupReq.java => PreDeleteStorageGroupPlan.java} | 14 +- ...rDataNodeReq.java => RegisterDataNodePlan.java} | 16 +- ...onfigNodeReq.java => RemoveConfigNodePlan.java} | 16 +- ...rReq.java => SetDataReplicationFactorPlan.java} | 14 +- ...eq.java => SetSchemaReplicationFactorPlan.java} | 14 +- ...orageGroupReq.java => SetStorageGroupPlan.java} | 16 +- .../write/{SetTTLReq.java => SetTTLPlan.java} | 16 +- ...lReq.java => SetTimePartitionIntervalPlan.java} | 14 +- ...eProcedureReq.java => UpdateProcedurePlan.java} | 14 +- .../statemachine/PartitionRegionStateMachine.java | 30 +- .../AddPeerException.java} | 10 +- .../physical/UnknownPhysicalPlanTypeException.java | 4 +- .../confignode/manager/ClusterSchemaManager.java | 126 +- .../iotdb/confignode/manager/ConfigManager.java | 190 +- .../iotdb/confignode/manager/ConsensusManager.java | 100 +- .../apache/iotdb/confignode/manager/IManager.java | 78 +- .../iotdb/confignode/manager/NodeManager.java | 118 +- .../iotdb/confignode/manager/PartitionManager.java | 54 +- .../confignode/manager/PermissionManager.java | 24 +- .../iotdb/confignode/manager/UDFManager.java | 8 +- .../iotdb/confignode/manager/load/LoadManager.java | 136 +- .../manager/load/balancer/RegionBalancer.java | 14 +- .../manager/load/balancer/RouteBalancer.java | 14 +- .../manager/load/balancer/router/LeaderRouter.java | 94 + ...eatCache.java => ConfigNodeHeartbeatCache.java} | 11 +- ...tbeatCache.java => DataNodeHeartbeatCache.java} | 8 +- .../load/heartbeat/IRegionGroupCache.java} | 21 +- .../manager/load/heartbeat/RegionGroupCache.java | 30 +- .../iotdb/confignode/persistence/AuthorInfo.java | 30 +- .../confignode/persistence/ClusterSchemaInfo.java | 72 +- .../iotdb/confignode/persistence/NodeInfo.java | 120 +- .../confignode/persistence/ProcedureInfo.java | 12 +- .../iotdb/confignode/persistence/UDFInfo.java | 8 +- ...equestExecutor.java => ConfigPlanExecutor.java} | 137 +- .../persistence/partition/PartitionInfo.java | 128 +- .../persistence/partition/RegionGroup.java | 6 +- .../partition/StorageGroupPartitionTable.java | 83 +- .../procedure/env/ConfigNodeProcedureEnv.java | 51 +- .../procedure/impl/AddConfigNodeProcedure.java | 9 +- .../impl/DeleteStorageGroupProcedure.java | 6 +- .../procedure/state/AddConfigNodeState.java | 3 +- .../procedure/store/ConfigProcedureStore.java | 16 +- .../iotdb/confignode/service/ConfigNode.java | 181 +- .../confignode/service/ConfigNodeCommandLine.java | 3 +- .../service/thrift/ConfigNodeRPCService.java | 8 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 154 +- .../iotdb/confignode/cli/TemporaryClientDemo.java | 76 - ...eTest.java => ConfigPhysicalPlanSerDeTest.java} | 389 +-- .../confignode/persistence/AuthorInfoTest.java | 180 +- .../persistence/ClusterSchemaInfoTest.java | 10 +- .../iotdb/confignode/persistence/NodeInfoTest.java | 14 +- .../confignode/persistence/PartitionInfoTest.java | 52 +- .../thrift/ConfigNodeRPCServiceProcessorTest.java | 99 +- .../confignode1conf/iotdb-confignode.properties | 6 +- .../confignode2conf/iotdb-confignode.properties | 6 +- .../confignode3conf/iotdb-confignode.properties | 6 +- .../iotdb/consensus/config/MultiLeaderConfig.java | 46 +- .../apache/iotdb/consensus/config/RatisConfig.java | 2 +- .../multileader/MultiLeaderConsensus.java | 2 +- .../multileader/MultiLeaderServerImpl.java | 42 +- .../multileader/logdispatcher/IndexController.java | 67 +- .../multileader/logdispatcher/LogDispatcher.java | 80 +- .../multileader/service/MultiLeaderRPCService.java | 17 +- .../service/MultiLeaderRPCServiceProcessor.java | 59 +- .../multileader/wal/ConsensusReqReader.java | 6 +- .../multileader/MultiLeaderConsensusTest.java | 209 +- .../iotdb/consensus/multileader/RecoveryTest.java | 4 +- .../logdispatcher/IndexControllerTest.java | 38 +- .../multileader/logdispatcher/SyncStatusTest.java | 8 +- .../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 | 1 + distribution/pom.xml | 6 +- distribution/src/assembly/all.xml | 12 - .../src/assembly/{server.xml => datanode.xml} | 2 +- docker/src/main/Dockerfile-single | 2 +- docker/src/main/Dockerfile-single-influxdb | 2 +- docker/src/main/Dockerfile-single-tc | 2 +- docs/UserGuide/Cluster/Cluster-Concept.md | 101 + docs/UserGuide/Cluster/Cluster-Setup-Example.md | 293 --- docs/UserGuide/Cluster/Cluster-Setup.md | 406 +-- .../Integration-Test-refactoring-tutorial.md | 43 +- .../Maintenance-Tools/Maintenance-Command.md | 134 +- docs/UserGuide/Maintenance-Tools/Metric-Tool.md | 73 +- docs/UserGuide/Query-Data/Query-Filter.md | 7 +- .../Reference/ConfigNode-Config-Manual.md | 283 +++ ...{Config-Manual.md => DataNode-Config-Manual.md} | 240 +- 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 +-- .../Integration-Test-refactoring-tutorial.md | 42 +- .../Maintenance-Tools/Maintenance-Command.md | 134 +- docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 72 +- docs/zh/UserGuide/Query-Data/Query-Filter.md | 13 +- .../Reference/ConfigNode-Config-Manual.md | 278 +++ ...{Config-Manual.md => DataNode-Config-Manual.md} | 180 +- example/client-cpp-example/README.md | 2 +- .../iotdb/web/grafana/conf/MyConfiguration.java | 15 +- .../web/grafana/interceptor/LoginInterceptor.java | 61 + .../Apache IoTDB ConfigNode Dashboard v0.14.0.json | 89 +- .../Apache IoTDB DataNode Dashboard v0.14.0.json | 52 +- .../standalone/Apache IoTDB Dashboard v0.14.0.json | 48 +- 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/checkstyle.xml | 2 +- integration-test/import-control.xml | 2 + .../org/apache/iotdb/it/env/ConfigNodeWrapper.java | 18 +- .../org/apache/iotdb/it/env/DataNodeWrapper.java | 12 +- .../java/org/apache/iotdb/it/env/MppConfig.java | 7 + .../apache/iotdb/itbase/constant/TestConstant.java | 3 + .../org/apache/iotdb/itbase/env/BaseConfig.java | 16 + .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java | 112 + .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java | 179 ++ .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java | 72 + .../org/apache/iotdb/db/it}/IoTDBQuotedPathIT.java | 71 +- .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 994 ++++++++ .../it/IoTDBSyntaxConventionStringLiteralIT.java | 705 ++++++ .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java | 2594 ++++++++++++++++++++ .../db/it/aligned/IoTDBGroupByLevelQueryIT.java | 168 +- ...GroupByQueryWithValueFilterWithDeletion2IT.java | 43 +- ...BGroupByQueryWithValueFilterWithDeletionIT.java | 268 +- .../iotdb/db/it/env/StandaloneEnvConfig.java | 12 + .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java | 531 ++++ .../db/it/groupby/IoTDBGroupByNaturalMonthIT.java | 246 ++ .../iotdb/db/it}/groupby/IoTDBGroupByUnseqIT.java | 109 +- .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java | 384 +++ .../iotdb/db/it/query/IoTDBPaginationIT.java | 152 ++ .../query}/IoTDBQueryWithComplexValueFilterIT.java | 59 +- .../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 131 + .../org/apache/iotdb/db/it/utils/TestUtils.java | 251 ++ integration/pom.xml | 5 - .../apache/iotdb/integration/env/ClusterNode.java | 4 +- .../apache/iotdb/db/integration/IoTDBAliasIT.java | 396 --- .../org/apache/iotdb/db/integration/IoTDBAsIT.java | 564 ----- .../iotdb/db/integration/IoTDBLimitSlimitIT.java | 204 -- .../iotdb/db/integration/IoTDBNestedQueryIT.java | 38 + .../iotdb/db/integration/IoTDBNumberPathIT.java | 483 ---- .../db/integration/IoTDBPathNumOverLimitIT.java | 74 - .../db/integration/IoTDBResultMetadataIT.java | 89 - .../iotdb/db/integration/IoTDBResultSetIT.java | 134 - .../integration/IoTDBSizeTieredCompactionIT.java | 22 +- .../IoTDBSyntaxConventionIdentifierIT.java | 4 - .../apache/iotdb/db/integration/IoTDBTtlIT.java | 3 +- .../IoTDBGroupByQueryWithValueFilter2IT.java | 65 - .../IoTDBGroupByQueryWithValueFilterIT.java | 1094 --------- ...GroupBySlidingWindowQueryWithValueFilterIT.java | 951 ------- ...upBySlidingWindowQueryWithoutValueFilterIT.java | 947 ------- .../db/integration/groupby/IOTDBGroupByIT.java | 996 -------- .../groupby/IOTDBGroupByInnerIntervalIT.java | 342 --- .../integration/groupby/IoTDBGroupByMonthIT.java | 366 --- ...IT.java => IoTDBGroupByNaturalMonthFillIT.java} | 7 +- .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 6 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 16 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 7 +- .../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 +- .../test/java/org/apache/iotdb/jdbc/BatchTest.java | 4 +- .../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 4 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 4 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 4 +- .../iotdb/jdbc/IoTDBPreparedStatementTest.java | 2 +- .../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 2 +- .../async/AsyncConfigNodeIServiceClient.java | 4 +- .../async/AsyncDataNodeInternalServiceClient.java | 4 +- .../client/sync/SyncConfigNodeIServiceClient.java | 4 +- .../sync/SyncDataNodeInternalServiceClient.java | 4 +- .../apache/iotdb/commons/conf/IoTDBConstant.java | 7 + .../service/AbstractThriftServiceThread.java | 34 +- .../iotdb/commons/service/ThriftServiceThread.java | 4 + .../iotdb/commons/client/ClientManagerTest.java | 4 +- .../client/mock/MockInternalRPCService.java | 8 +- .../iotdb/commons/partition/SerializeTest.java | 101 - openapi/pom.xml | 26 + pom.xml | 1 + server/file-changelists/conf-changelist.md | 3 + .../resources/conf/iotdb-datanode.properties | 29 +- .../apache/iotdb/db/client/ConfigNodeClient.java | 88 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 61 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 61 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 56 +- .../db/consensus/DataRegionConsensusImpl.java | 98 +- .../db/consensus/SchemaRegionConsensusImpl.java | 51 +- .../statemachine/visitor/DataExecutionVisitor.java | 49 +- .../apache/iotdb/db/engine/StorageEngineV2.java | 14 + .../db/engine/compaction/CompactionScheduler.java | 6 +- .../engine/compaction/CompactionTaskManager.java | 237 +- .../db/engine/compaction/CompactionWorker.java | 117 + .../compaction/cross/CrossSpaceCompactionTask.java | 43 +- .../rewrite/CrossSpaceCompactionResource.java | 8 - .../RewriteCrossSpaceCompactionSelector.java | 4 +- .../compaction/inner/InnerSpaceCompactionTask.java | 84 +- .../compaction/performer/ICompactionPerformer.java | 3 + .../impl/ReadChunkCompactionPerformer.java | 9 +- .../impl/ReadPointCompactionPerformer.java | 9 +- .../compaction/task/AbstractCompactionTask.java | 62 +- .../compaction/task/CompactionTaskSummary.java | 51 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 35 +- .../engine/memtable/AlignedWritableMemChunk.java | 26 +- .../iotdb/db/engine/storagegroup/DataRegion.java | 15 +- .../db/engine/storagegroup/TsFileManager.java | 14 +- .../db/engine/storagegroup/TsFileResource.java | 3 - .../iotdb/db/exception/BatchProcessException.java | 5 + .../exception/query/PathNumOverLimitException.java | 3 +- .../{query => sql}/PathNumOverLimitException.java | 7 +- .../iotdb/db/localconfignode/LocalConfigNode.java | 4 + .../iotdb/db/mpp/common/header/HeaderConstant.java | 6 +- .../iotdb/db/mpp/execution/driver/DataDriver.java | 2 +- .../iotdb/db/mpp/execution/driver/Driver.java | 22 +- .../iotdb/db/mpp/execution/driver/IDriver.java | 2 +- .../db/mpp/execution/driver/SchemaDriver.java | 2 +- .../db/mpp/execution/exchange/ISinkHandle.java | 2 +- .../db/mpp/execution/exchange/ISourceHandle.java | 2 +- .../db/mpp/execution/exchange/LocalSinkHandle.java | 2 +- .../mpp/execution/exchange/LocalSourceHandle.java | 2 +- .../db/mpp/execution/exchange/SinkHandle.java | 2 +- .../db/mpp/execution/exchange/SourceHandle.java | 2 +- .../iotdb/db/mpp/execution/operator/Operator.java | 4 +- .../operator/process/AggregationOperator.java | 4 +- .../operator/process/DeviceMergeOperator.java | 12 +- .../operator/process/DeviceViewOperator.java | 4 +- .../execution/operator/process/FillOperator.java | 2 +- .../operator/process/LastQueryMergeOperator.java | 2 +- .../execution/operator/process/LimitOperator.java | 2 +- .../operator/process/LinearFillOperator.java | 2 +- .../execution/operator/process/OffsetOperator.java | 2 +- .../process/RawDataAggregationOperator.java | 2 +- .../process/SlidingWindowAggregationOperator.java | 2 +- .../execution/operator/process/SortOperator.java | 2 +- .../operator/process/TimeJoinOperator.java | 11 +- .../operator/process/TransformOperator.java | 2 +- .../operator/process/UpdateLastCacheOperator.java | 2 +- .../operator/schema/CountMergeOperator.java | 11 +- .../schema/NodeManageMemoryMergeOperator.java | 2 +- .../operator/schema/NodePathsConvertOperator.java | 2 +- .../operator/schema/NodePathsCountOperator.java | 4 +- .../operator/schema/SchemaFetchMergeOperator.java | 2 +- .../operator/schema/SchemaQueryMergeOperator.java | 2 +- .../schema/SchemaQueryOrderByHeatOperator.java | 4 +- .../operator/source/ExchangeOperator.java | 4 +- .../db/mpp/execution/schedule/DriverScheduler.java | 12 +- .../mpp/execution/schedule/DriverTaskThread.java | 2 +- .../db/mpp/execution/schedule/task/DriverTask.java | 2 +- .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java | 12 +- .../mpp/plan/analyze/ClusterPartitionFetcher.java | 16 +- .../plan/analyze/ColumnPaginationController.java | 12 +- .../db/mpp/plan/analyze/ExpressionAnalyzer.java | 250 +- .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 73 + .../db/mpp/plan/constant/DataNodeEndPoints.java | 4 +- .../db/mpp/plan/execution/QueryExecution.java | 54 +- .../mpp/plan/execution/config/ConfigExecution.java | 15 +- .../mpp/plan/execution/config/ShowClusterTask.java | 5 +- .../mpp/plan/execution/config/ShowRegionTask.java | 9 +- .../config/executor/ClusterConfigTaskExecutor.java | 7 +- .../executor/StandaloneConfigTaskExecutor.java | 15 +- .../plan/execution/memory/MemorySourceHandle.java | 2 +- .../iotdb/db/mpp/plan/expression/Expression.java | 5 +- .../db/mpp/plan/expression/ExpressionType.java | 2 +- .../plan/expression/ternary/BetweenExpression.java | 110 + .../plan/expression/ternary/TernaryExpression.java | 336 +++ .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 45 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 2 +- .../dag/transformer/Transformer.java | 21 + .../transformer/ternary/BetweenTransformer.java | 67 + .../ternary/CompareTernaryTransformer.java | 86 + .../transformer/ternary/TernaryTransformer.java | 265 ++ .../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 ++ .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 37 +- .../iotdb/db/query/control/SessionManager.java | 3 +- ...{InternalService.java => ClientRPCService.java} | 22 +- ...erviceMBean.java => ClientRPCServiceMBean.java} | 2 +- .../java/org/apache/iotdb/db/service/DataNode.java | 112 +- .../java/org/apache/iotdb/db/service/NewIoTDB.java | 19 +- .../org/apache/iotdb/db/service/RPCService.java | 8 +- .../db/service/metrics/predefined/FileMetrics.java | 9 +- .../db/service/thrift/ProcessorWithMetrics.java | 4 +- .../thrift/handler/RPCServiceThriftHandler.java | 7 +- ...IServiceImpl.java => ClientRPCServiceImpl.java} | 8 +- ...erviceImpl.java => DataNodeRPCServiceImpl.java} | 68 +- ...dler.java => IClientRPCServiceWithHandler.java} | 4 +- .../db/service/thrift/impl/TSServiceImpl.java | 4 +- .../java/org/apache/iotdb/db/tools/WalChecker.java | 15 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 6 + .../iotdb/db/wal/buffer/AbstractWALBuffer.java | 19 +- .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java | 3 + .../org/apache/iotdb/db/wal/buffer/WALBuffer.java | 7 +- .../java/org/apache/iotdb/db/wal/io/WALWriter.java | 13 + .../org/apache/iotdb/db/wal/node/WALFakeNode.java | 5 + .../java/org/apache/iotdb/db/wal/node/WALNode.java | 156 +- .../apache/iotdb/db/wal/utils/WALFileUtils.java | 22 +- .../engine/compaction/CompactionSchedulerTest.java | 95 +- .../compaction/CompactionTaskComparatorTest.java | 10 +- .../compaction/CompactionTaskManagerTest.java | 115 +- .../ReadPointCompactionPerformerTest.java | 137 +- .../cross/CrossSpaceCompactionExceptionTest.java | 27 +- .../compaction/cross/CrossSpaceCompactionTest.java | 6 +- .../RewriteCrossSpaceCompactionRecoverTest.java | 37 +- .../cross/RewriteCrossSpaceCompactionTest.java | 8 +- .../inner/InnerCompactionEmptyTsFileTest.java | 6 +- .../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 | 10 +- .../ReadChunkCompactionPerformerAlignedTest.java | 30 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 47 +- .../inner/ReadChunkCompactionPerformerOldTest.java | 7 +- .../SizeTieredCompactionRecoverTest.java | 70 +- .../SizeTieredCompactionRecoverCompatibleTest.java | 18 +- .../recover/SizeTieredCompactionRecoverTest.java | 38 +- .../db/engine/storagegroup/DataRegionTest.java | 6 +- .../storagegroup/StorageGroupProcessorTest.java | 6 +- .../iotdb/db/mpp/execution/DataDriverTest.java | 2 +- .../execution/exchange/LocalSinkHandleTest.java | 2 +- .../execution/exchange/LocalSourceHandleTest.java | 4 +- .../db/mpp/execution/exchange/StubSinkHandle.java | 2 +- .../execution/memory/MemorySourceHandleTest.java | 2 +- .../schedule/DefaultDriverSchedulerTest.java | 5 +- .../DriverTaskTimeoutSentinelThreadTest.java | 11 +- .../plan/scheduler/StandaloneSchedulerTest.java | 8 +- ...ImplTest.java => ClientRPCServiceImplTest.java} | 26 +- .../iotdb/db/wal/node/ConsensusReqReaderTest.java | 68 +- .../org/apache/iotdb/db/wal/node/WALNodeTest.java | 6 +- .../db/wal/recover/file/TsFilePlanRedoerTest.java | 303 +++ .../datanode1conf/iotdb-datanode.properties | 2 +- .../datanode2conf/iotdb-datanode.properties | 2 +- .../datanode3conf/iotdb-datanode.properties | 2 +- .../src/test/resources/iotdb-datanode.properties | 2 +- .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 23 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 12 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 8 +- .../org/apache/iotdb/rpc/SynchronizedHandler.java | 6 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 3 +- .../apache/iotdb/session/SessionConnection.java | 10 +- .../org/apache/iotdb/session/SessionDataSet.java | 6 +- site/src/main/.vuepress/config.js | 18 +- testcontainer/Readme.md | 8 +- testcontainer/pom.xml | 12 - .../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 - ...engine.properties => iotdb-datanode.properties} | 2 +- thrift-commons/src/main/thrift/common.thrift | 32 +- .../src/main/thrift/confignode.thrift | 37 +- .../src/main/thrift/{rpc.thrift => client.thrift} | 2 +- .../main/thrift/{mpp.thrift => datanode.thrift} | 16 +- .../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 ++ 425 files changed, 17433 insertions(+), 12710 deletions(-) create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/AsyncConfigNodeClientPool.java copy confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/{HeartbeatHandler.java => ConfigNodeHeartbeatHandler.java} (52%) create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/DataNodeHeartbeatHandler.java rename confignode/src/main/java/org/apache/iotdb/confignode/client/handlers/{HeartbeatHandler.java => SetTTLHandler.java} (55%) create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/{ConfigRequest.java => ConfigPhysicalPlan.java} (70%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/{ConfigRequestType.java => ConfigPhysicalPlanType.java} (96%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/auth/{AuthorReq.java => AuthorPlan.java} (77%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{CountStorageGroupReq.java => CountStorageGroupPlan.java} (79%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetDataNodeInfoReq.java => GetDataNodeInfoPlan.java} (78%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetDataPartitionReq.java => GetDataPartitionPlan.java} (92%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetNodePathsPartitionReq.java => GetNodePathsPartitionPlan.java} (84%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetOrCreateDataPartitionReq.java => GetOrCreateDataPartitionPlan.java} (77%) copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetOrCreateSchemaPartitionReq.java => GetOrCreateSchemaPartitionPlan.java} (77%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetRegionInfoListReq.java => GetRegionInfoListPlan.java} (80%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetSchemaPartitionReq.java => GetSchemaPartitionPlan.java} (88%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetStorageGroupReq.java => GetStorageGroupPlan.java} (70%) copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{RegisterDataNodeReq.java => ActivateDataNodePlan.java} (78%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{AdjustMaxRegionGroupCountReq.java => AdjustMaxRegionGroupCountPlan.java} (85%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{ApplyConfigNodeReq.java => ApplyConfigNodePlan.java} (80%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{CreateDataPartitionReq.java => CreateDataPartitionPlan.java} (87%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{CreateFunctionReq.java => CreateFunctionPlan.java} (83%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{CreateRegionsReq.java => CreateRegionGroupsPlan.java} (88%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{CreateSchemaPartitionReq.java => CreateSchemaPartitionPlan.java} (87%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{DeleteProcedureReq.java => DeleteProcedurePlan.java} (79%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{DeleteRegionsReq.java => DeleteRegionsPlan.java} (88%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{DeleteStorageGroupReq.java => DeleteStorageGroupPlan.java} (77%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{DropFunctionReq.java => DropFunctionPlan.java} (79%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{PreDeleteStorageGroupReq.java => PreDeleteStorageGroupPlan.java} (82%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{RegisterDataNodeReq.java => RegisterDataNodePlan.java} (78%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{RemoveConfigNodeReq.java => RemoveConfigNodePlan.java} (80%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{SetDataReplicationFactorReq.java => SetDataReplicationFactorPlan.java} (81%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{SetSchemaReplicationFactorReq.java => SetSchemaReplicationFactorPlan.java} (81%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{SetStorageGroupReq.java => SetStorageGroupPlan.java} (79%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{SetTTLReq.java => SetTTLPlan.java} (81%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{SetTimePartitionIntervalReq.java => SetTimePartitionIntervalPlan.java} (81%) rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{UpdateProcedureReq.java => UpdateProcedurePlan.java} (82%) copy confignode/src/main/java/org/apache/iotdb/confignode/{consensus/request/read/GetOrCreateSchemaPartitionReq.java => exception/AddPeerException.java} (71%) create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/LeaderRouter.java copy confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/{HeartbeatCache.java => ConfigNodeHeartbeatCache.java} (88%) rename confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/{HeartbeatCache.java => DataNodeHeartbeatCache.java} (91%) rename confignode/src/main/java/org/apache/iotdb/confignode/{consensus/request/read/GetOrCreateSchemaPartitionReq.java => manager/load/heartbeat/IRegionGroupCache.java} (66%) copy server/src/main/java/org/apache/iotdb/db/mpp/execution/driver/SchemaDriver.java => confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java (54%) rename confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/{ConfigRequestExecutor.java => ConfigPlanExecutor.java} (80%) delete mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/cli/TemporaryClientDemo.java rename confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/{ConfigRequestSerDeTest.java => ConfigPhysicalPlanSerDeTest.java} (58%) create mode 100644 consensus/src/test/java/org/apache/iotdb/consensus/multileader/util/FakeConsensusReqReader.java create mode 100644 consensus/src/test/java/org/apache/iotdb/consensus/multileader/util/RequestSets.java create mode 100644 consensus/src/test/java/org/apache/iotdb/consensus/multileader/util/TestEntry.java create mode 100644 consensus/src/test/java/org/apache/iotdb/consensus/multileader/util/TestStateMachine.java rename distribution/src/assembly/{server.xml => datanode.xml} (99%) create mode 100644 docs/UserGuide/Cluster/Cluster-Concept.md delete mode 100644 docs/UserGuide/Cluster/Cluster-Setup-Example.md create mode 100644 docs/UserGuide/Reference/ConfigNode-Config-Manual.md rename docs/UserGuide/Reference/{Config-Manual.md => DataNode-Config-Manual.md} (89%) create mode 100644 docs/zh/UserGuide/Cluster/Cluster-Concept.md delete mode 100644 docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md create mode 100644 docs/zh/UserGuide/Reference/ConfigNode-Config-Manual.md rename docs/zh/UserGuide/Reference/{Config-Manual.md => DataNode-Config-Manual.md} (91%) create mode 100644 grafana-connector/src/main/java/org/apache/iotdb/web/grafana/interceptor/LoginInterceptor.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBAuthIT.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterBetweenIT.java rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBQuotedPathIT.java (63%) create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionIdentifierIT.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBSyntaxConventionStringLiteralIT.java rename integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationGroupByLevelIT.java => integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBGroupByLevelQueryIT.java (52%) rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java (62%) rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java (82%) create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IOTDBGroupByIT.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/groupby/IoTDBGroupByNaturalMonthIT.java rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/groupby/IoTDBGroupByUnseqIT.java (55%) create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBAliasIT.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBPaginationIT.java rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBQueryWithComplexValueFilterIT.java (58%) create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBResultSetIT.java create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAliasIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAsIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLimitSlimitIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNumberPathIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBPathNumOverLimitIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBResultMetadataIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBResultSetIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilter2IT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilterIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupBySlidingWindowQueryWithValueFilterIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupBySlidingWindowQueryWithoutValueFilterIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/groupby/IOTDBGroupByIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/groupby/IOTDBGroupByInnerIntervalIT.java delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/groupby/IoTDBGroupByMonthIT.java rename integration/src/test/java/org/apache/iotdb/db/integration/groupby/{IoTDBGroupByMonthFillIT.java => IoTDBGroupByNaturalMonthFillIT.java} (97%) delete mode 100644 node-commons/src/test/java/org/apache/iotdb/commons/partition/SerializeTest.java create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionWorker.java copy server/src/main/java/org/apache/iotdb/db/exception/{query => sql}/PathNumOverLimitException.java (81%) create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ternary/BetweenExpression.java create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ternary/TernaryExpression.java create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/ternary/BetweenTransformer.java create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/ternary/CompareTernaryTransformer.java create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/ternary/TernaryTransformer.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/MPPRestService.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/filter/ApiOriginFilter.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/filter/AuthorizationFilter.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/filter/BasicSecurityContext.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/filter/User.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/filter/UserCache.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/AuthorizationHandler.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/ExceptionHandler.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/QueryDataSetHandler.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/RequestValidationHandler.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/handler/StatementConstructionHandler.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/GrafanaApiServiceImpl.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/PingApiServiceImpl.java create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mpprest/impl/RestApiServiceImpl.java rename server/src/main/java/org/apache/iotdb/db/service/{InternalService.java => ClientRPCService.java} (82%) rename server/src/main/java/org/apache/iotdb/db/service/{InternalServiceMBean.java => ClientRPCServiceMBean.java} (95%) rename server/src/main/java/org/apache/iotdb/db/service/thrift/impl/{DataNodeTSIServiceImpl.java => ClientRPCServiceImpl.java} (99%) rename server/src/main/java/org/apache/iotdb/db/service/thrift/impl/{InternalServiceImpl.java => DataNodeRPCServiceImpl.java} (93%) rename server/src/main/java/org/apache/iotdb/db/service/thrift/impl/{TSIEventHandler.java => IClientRPCServiceWithHandler.java} (86%) rename server/src/test/java/org/apache/iotdb/db/service/{InternalServiceImplTest.java => ClientRPCServiceImplTest.java} (92%) delete mode 100644 testcontainer/src/test/resources/1node/docker-compose.yaml delete mode 100644 testcontainer/src/test/resources/1node/iotdb-cluster.properties delete mode 100644 testcontainer/src/test/resources/3nodes/docker-compose.yaml delete mode 100644 testcontainer/src/test/resources/3nodes/iotdb-cluster.properties delete mode 100644 testcontainer/src/test/resources/5nodes/docker-compose.yaml delete mode 100644 testcontainer/src/test/resources/5nodes/iotdb-cluster.properties rename testcontainer/src/test/resources/{iotdb-engine.properties => iotdb-datanode.properties} (94%) rename thrift/src/main/thrift/{rpc.thrift => client.thrift} (99%) rename thrift/src/main/thrift/{mpp.thrift => datanode.thrift} (94%) create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java