This is an automated email from the ASF dual-hosted git repository.
rong pushed a change to branch fix-pipe-ref-count-leak
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 394284f89ad Merge branch 'master' of https://github.com/apache/iotdb
into fix-pipe-ref-count-leak
add 7ab36b57436 Inner space compaction splits large target file (#13097)
add a1e6fab0cdf [region migration] Enable SchemaRegion write retry when
migrating region concurrently (#13261)
add e5b87219c08 [region migration] Ratis delete local peer when
resetPeerList is called and myself not in correct peer list #13282
add 124a25e0efe Support update attribute on standalone version & Enable
cache update / mlog writing of createOrUpdate device & Improved the performance
/ semantic of schema device query & Introduce limit/offset of show device
add de28b7ef466 date_bin scalar function
add 87f765b426f [Fix] Add another retryPolicy for RatisClient (#13286)
add b28374ea69a Enable cpp client CI on Windows-2019 with visual studio
2019 (#13289)
add dc55eb06d32 Update DataNodeSpaceQuotaManager.java
add bc3b4d32c11 Introduce AINode to IoTDB (#13254)
add 7a2a0b4bb2c Fixed the NPE of failed internal create timeseries (#13253)
add e94c2c1ff71 Add subquery UT and IT, Remove some wrong implementation
code
add 41ee831b7e2 Pipe: Avoid req size excceeding the thrift max frame size
by slicing the original req automatically (#13290)
add e70ea59dcd2 Support boolean in not between and
add ad473d9766d Add 'deserialize_resource' metric item in compaction
(#13298)
add 8f54b808121 Fixed the bug that schema region in lower version tree
model may lose data when upgrades to table model
add 38c1d591acf Feat/updated cli (#13194)
add 08f7cd88f33 Subscription: payload size control for poll request &
apply forced tablet for dataset topic & implement strictness timeout by
multiple poll (#13037)
add 861339b1558 Support expression in InPredicate & Unify error msg for
type timestamp in round function
add 96952013bfe Pipe: Fixed the NPE in TsFileInsertionScanDataContainer
when there are null values in parts of the alignedChunkData (#13306)
add 4c1a9d86dec [Metrics]: Add metrics for RestApi (#13260)
add 0a7bd249d68 Fix TsFileOverlapValidationAndRepairTool (#13296)
add 3f534bb5233 Automatically trigger CI for active non-committer (#13312)
add 2cade679777 Active Load: Add scan filtering judgment & Fix failed
directory without hot reload & Log downgrade & Remove rounds for scheduled tasks
add 6530e9ae227 Merge branch 'master' of https://github.com/apache/iotdb
into fix-pipe-ref-count-leak
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 10 +
.github/workflows/multi-language-client.yml | 12 +-
.idea/icon.png | Bin 0 -> 6736 bytes
.../it/env/cluster/config/MppCommonConfig.java | 6 +-
.../env/cluster/config/MppSharedCommonConfig.java | 7 +-
.../it/env/remote/config/RemoteCommonConfig.java | 3 +-
.../org/apache/iotdb/itbase/env/CommonConfig.java | 2 +-
.../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java | 2 +-
.../db/it/IoTDBMultiIDsWithAttributesTableIT.java | 99 +--
.../scalar/IoTDBRoundFunctionTableIT.java | 6 +
.../scalar/IoTDBScalarFunctionTableIT.java | 54 ++
.../it/query/old/query/IoTDBInTableIT.java | 79 ++-
.../it/query/recent/IoTDBNullIdQueryIT.java | 26 +
...{IoTDBDeviceQueryIT.java => IoTDBDeviceIT.java} | 58 +-
.../AbstractSubscriptionRegressionIT.java | 2 +-
.../pattern/IoTDBTSPatternPullConsumeTsfileIT.java | 2 +-
.../IoTDBDBPatternTsfilePushConsumerIT.java | 4 +-
.../IoTDBDefaultPatternTsfilePushConsumerIT.java | 6 +-
.../IoTDBDevicePatternTsfilePushConsumerIT.java | 4 +-
.../IoTDBTSPatternTsfilePushConsumerIT.java | 4 +-
iotdb-client/client-cpp/README.md | 17 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 12 +-
.../rpc/subscription/config/ConsumerConstant.java | 5 +
.../iotdb/rpc/subscription/config/TopicConfig.java | 12 +-
.../SubscriptionPayloadExceedException.java | 35 +-
.../subscription/payload/poll/ErrorPayload.java | 2 +
.../subscription/payload/poll/FileInitPayload.java | 1 +
.../payload/poll/FilePiecePayload.java | 3 +
.../subscription/payload/poll/FileSealPayload.java | 2 +
.../subscription/payload/poll/PollFilePayload.java | 36 +-
.../rpc/subscription/payload/poll/PollPayload.java | 1 +
.../{PollPayload.java => PollTabletsPayload.java} | 40 +-
.../payload/poll/SubscriptionPollRequest.java | 22 +-
.../payload/poll/SubscriptionPollRequestType.java | 1 +
.../subscription/payload/poll/TabletsPayload.java | 31 +-
.../response/PipeSubscribeHeartbeatResp.java | 60 +-
.../payload/response/PipeSubscribePollResp.java | 2 -
.../response/PipeSubscribeSubscribeResp.java | 6 +-
.../response/PipeSubscribeUnsubscribeResp.java | 6 +-
.../session/subscription/SubscriptionSession.java | 26 +-
.../consumer/SubscriptionConsumer.java | 561 +++++++++++++----
.../SubscriptionExecutorServiceManager.java | 140 ++++-
.../consumer/SubscriptionProvider.java | 46 +-
.../consumer/SubscriptionProviders.java | 8 +-
.../consumer/SubscriptionPullConsumer.java | 44 +-
.../consumer/SubscriptionPushConsumer.java | 25 +-
.../{SubscriptionPollTimer.java => PollTimer.java} | 16 +-
.../session/subscription/util/SetPartitioner.java | 75 +++
iotdb-core/ainode/.gitignore | 11 +
.../pom.xml => iotdb-core/ainode/README.md | 21 +-
.../pom.xml => iotdb-core/ainode/README_ZH.md | 21 +-
iotdb-core/ainode/ainode.xml | 62 ++
.../ainode}/iotdb/__init__.py | 0
.../ainode/iotdb/ainode}/__init__.py | 0
iotdb-core/ainode/iotdb/ainode/attribute.py | 669 +++++++++++++++++++++
iotdb-core/ainode/iotdb/ainode/client.py | 285 +++++++++
iotdb-core/ainode/iotdb/ainode/config.py | 276 +++++++++
iotdb-core/ainode/iotdb/ainode/constant.py | 247 ++++++++
.../ainode/iotdb/ainode/encryption.py | 0
iotdb-core/ainode/iotdb/ainode/exception.py | 123 ++++
iotdb-core/ainode/iotdb/ainode/factory.py | 272 +++++++++
iotdb-core/ainode/iotdb/ainode/handler.py | 118 ++++
iotdb-core/ainode/iotdb/ainode/inference.py | 165 +++++
iotdb-core/ainode/iotdb/ainode/log.py | 134 +++++
iotdb-core/ainode/iotdb/ainode/parser.py | 191 ++++++
iotdb-core/ainode/iotdb/ainode/script.py | 102 ++++
iotdb-core/ainode/iotdb/ainode/serde.py | 564 +++++++++++++++++
iotdb-core/ainode/iotdb/ainode/service.py | 139 +++++
iotdb-core/ainode/iotdb/ainode/storage.py | 318 ++++++++++
iotdb-core/ainode/iotdb/ainode/util.py | 79 +++
iotdb-core/ainode/pom.xml | 347 +++++++++++
iotdb-core/ainode/pyproject.toml | 66 ++
iotdb-core/ainode/resources/conf/ainode-env.bat | 128 ++++
iotdb-core/ainode/resources/conf/ainode-env.sh | 138 +++++
.../ainode/resources/conf/iotdb-ainode.properties | 60 ++
iotdb-core/ainode/resources/sbin/remove-ainode.bat | 107 ++++
iotdb-core/ainode/resources/sbin/remove-ainode.sh | 112 ++++
iotdb-core/ainode/resources/sbin/start-ainode.bat | 77 +++
iotdb-core/ainode/resources/sbin/start-ainode.sh | 78 +++
iotdb-core/ainode/resources/sbin/stop-ainode.bat | 61 ++
iotdb-core/ainode/resources/sbin/stop-ainode.sh | 73 +++
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 7 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 43 ++
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 28 +
iotdb-core/confignode/pom.xml | 5 +
.../async/AsyncAINodeHeartbeatClientPool.java | 62 ++
.../handlers/heartbeat/AINodeHeartbeatHandler.java | 57 ++
.../iotdb/confignode/conf/ConfigNodeConstant.java | 1 +
.../consensus/request/ConfigPhysicalPlanType.java | 15 +-
.../read/ainode/GetAINodeConfigurationPlan.java | 74 +++
.../request/read/model/GetModelInfoPlan.java | 80 +++
.../request/read/model/ShowModelPlan.java | 90 +++
.../request/write/ainode/RegisterAINodePlan.java | 76 +++
.../request/write/ainode/RemoveAINodePlan.java | 79 +++
.../request/write/ainode/UpdateAINodePlan.java | 79 +++
.../request/write/model/CreateModelPlan.java | 79 +++
.../request/write/model/DropModelInNodePlan.java | 70 +++
.../request/write/model/DropModelPlan.java | 79 +++
.../request/write/model/UpdateModelInfoPlan.java | 118 ++++
.../response/ainode/AINodeConfigurationResp.java | 57 ++
.../response/ainode/AINodeRegisterResp.java | 67 +++
.../consensus/response/model/GetModelInfoResp.java | 71 +++
.../consensus/response/model/ModelTableResp.java | 55 ++
.../iotdb/confignode/manager/ConfigManager.java | 140 ++++-
.../apache/iotdb/confignode/manager/IManager.java | 67 +++
.../iotdb/confignode/manager/ModelManager.java | 126 ++++
.../iotdb/confignode/manager/ProcedureManager.java | 30 +
.../iotdb/confignode/manager/load/LoadManager.java | 6 +-
.../confignode/manager/load/cache/LoadCache.java | 18 +-
...artbeatCache.java => AINodeHeartbeatCache.java} | 49 +-
.../load/cache/node/DataNodeHeartbeatCache.java | 2 +-
.../load/cache/node/NodeHeartbeatSample.java | 15 +-
.../manager/load/service/HeartbeatService.java | 35 ++
.../manager/node/ClusterNodeStartUtils.java | 49 ++
.../iotdb/confignode/manager/node/NodeManager.java | 154 +++++
.../iotdb/confignode/persistence/ModelInfo.java | 382 ++++++++++++
.../persistence/executor/ConfigPlanExecutor.java | 45 +-
.../confignode/persistence/node/NodeInfo.java | 178 ++++++
.../procedure/impl/model/CreateModelProcedure.java | 250 ++++++++
.../procedure/impl/model/DropModelProcedure.java | 196 ++++++
.../procedure/impl/node/RemoveAINodeProcedure.java | 160 +++++
.../procedure/state/RemoveAINodeState.java} | 17 +-
.../procedure/state/model/CreateModelState.java} | 17 +-
.../procedure/state/model/DropModelState.java} | 17 +-
.../procedure/store/ProcedureFactory.java | 18 +
.../confignode/procedure/store/ProcedureType.java | 5 +
.../iotdb/confignode/service/ConfigNode.java | 71 ++-
.../confignode/service/ConfigNodeCommandLine.java | 128 ----
.../thrift/ConfigNodeRPCServiceProcessor.java | 78 +++
.../procedure/impl/CreateCQProcedureTest.java | 2 +-
.../org/apache/iotdb/consensus/IConsensus.java | 4 +-
.../apache/iotdb/consensus/iot/IoTConsensus.java | 3 +-
.../apache/iotdb/consensus/ratis/RatisClient.java | 28 +-
.../iotdb/consensus/ratis/RatisConsensus.java | 32 +-
.../iotdb/consensus/simple/SimpleConsensus.java | 3 +-
iotdb-core/datanode/pom.xml | 5 +
.../assembly/resources/sbin/remove-datanode.bat | 2 -
.../src/assembly/resources/sbin/remove-datanode.sh | 2 -
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 74 ++-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 104 +++-
.../schemaregion/SchemaExecutionVisitor.java | 26 +-
.../ainode/GetModelInfoException.java} | 18 +-
.../ainode/ModelException.java} | 21 +-
.../ainode/ModelNotFoundException.java} | 18 +-
.../runtime/ModelInferenceProcessException.java} | 17 +-
.../evolvable/batch/PipeTabletEventBatch.java | 2 +-
.../scan/TsFileInsertionScanDataContainer.java | 10 +-
.../pipe/metric/PipeDataNodeReceiverMetrics.java | 63 ++
.../protocol/thrift/IoTDBDataNodeReceiver.java | 237 +++++---
.../iotdb/db/protocol/client/ConfigNodeClient.java | 64 ++
.../protocol/rest/v1/impl/RestApiServiceImpl.java | 61 +-
.../protocol/rest/v2/impl/RestApiServiceImpl.java | 72 ++-
.../iotdb/db/protocol/session/IClientSession.java | 8 +-
.../handler/AINodeRPCServiceThriftHandler.java | 60 ++
.../protocol/thrift/impl/AINodeRPCServiceImpl.java | 187 ++++++
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 93 +--
.../impl/DataNodeInternalRPCServiceImpl.java | 2 +-
.../thrift/impl/IAINodeRPCServiceWithHandler.java} | 16 +-
.../iotdb/db/queryengine/common/SessionInfo.java | 27 +-
.../common/header/ColumnHeaderConstant.java | 22 +
.../common/header/DatasetHeaderFactory.java | 8 +
.../execution/executor/RegionWriteExecutor.java | 21 +-
.../fragment/FragmentInstanceManager.java | 11 +
.../operator/process/AI/InferenceOperator.java | 337 +++++++++++
.../operator/process/FilterAndProjectOperator.java | 6 +-
.../operator/schema/SchemaQueryScanOperator.java | 73 +--
.../schema/source/DeviceAttributeUpdater.java | 158 +++++
.../schema/source/DevicePredicateFilter.java | 52 +-
.../schema/source/DevicePredicateHandler.java | 132 ++++
.../schema/source/TableDeviceQuerySource.java | 59 +-
.../execution/operator/source/FileLoaderUtils.java | 18 +
.../execution/operator/source/SeriesScanUtil.java | 16 +-
.../ainode/BottomInferenceWindowParameter.java | 47 +-
.../window/ainode/CountInferenceWindow.java} | 27 +-
.../ainode/CountInferenceWindowParameter.java | 82 +++
.../window/ainode/HeadInferenceWindow.java} | 21 +-
.../operator/window/ainode/InferenceWindow.java} | 20 +-
.../window/ainode/InferenceWindowParameter.java | 63 ++
.../window/ainode/InferenceWindowType.java} | 19 +-
.../window/ainode/TailInferenceWindow.java} | 20 +-
.../relational/ColumnTransformerBuilder.java | 119 +++-
.../db/queryengine/plan/analyze/Analysis.java | 19 +
.../queryengine/plan/analyze/AnalyzeVisitor.java | 176 ++++++
.../plan/analyze/IModelFetcher.java} | 17 +-
.../db/queryengine/plan/analyze/ModelFetcher.java | 81 +++
.../analyze/schema/AutoCreateSchemaExecutor.java | 20 +-
.../execution/config/TreeConfigTaskVisitor.java | 33 +
.../config/executor/ClusterConfigTaskExecutor.java | 93 +++
.../config/executor/IConfigTaskExecutor.java | 11 +
.../config/metadata/ShowClusterDetailsTask.java | 62 ++
.../execution/config/metadata/ShowClusterTask.java | 15 +
.../config/metadata/model/CreateModelTask.java | 45 ++
.../config/metadata/model/DropModelTask.java} | 36 +-
.../config/metadata/model/ShowAINodesTask.java | 80 +++
.../config/metadata/model/ShowModelsTask.java | 112 ++++
.../TableModelStatementMemorySourceVisitor.java | 6 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 101 ++++
.../plan/parser/StatementGenerator.java | 5 +
.../plan/planner/LogicalPlanBuilder.java | 14 +
.../plan/planner/LogicalPlanVisitor.java | 4 +
.../plan/planner/OperatorTreeGenerator.java | 47 ++
.../plan/planner/TableOperatorGenerator.java | 55 +-
.../plan/planner/plan/node/PlanNodeType.java | 17 +-
.../plan/planner/plan/node/PlanVisitor.java | 21 +-
.../read/AbstractTableDeviceQueryNode.java | 7 +-
.../read/TableDeviceAttributeUpdateNode.java | 355 +++++++++++
.../metadata/read/TableDeviceQueryScanNode.java | 40 +-
.../node/metadata/write/CreateTimeSeriesNode.java | 4 +-
.../plan/node/process/AI/InferenceNode.java | 133 ++++
.../parameter/model/ModelInferenceDescriptor.java | 204 +++++++
.../plan/relational/analyzer/Analysis.java | 4 +-
.../relational/analyzer/StatementAnalyzer.java | 165 +++--
.../PredicateCombineIntoTableScanChecker.java | 18 +-
.../PredicatePushIntoMetadataChecker.java | 3 +-
.../schema/CheckSchemaPredicateVisitor.java | 4 +-
.../schema/ExtractPredicateColumnNameVisitor.java | 28 +-
.../relational/metadata/TableMetadataImpl.java | 37 +-
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 49 +-
.../fetcher/TableDeviceSchemaValidator.java | 133 ++--
.../fetcher/cache/TableDeviceCacheEntry.java | 19 +-
.../fetcher/cache/TableDeviceSchemaCache.java | 39 +-
.../plan/relational/planner/LogicalPlanner.java | 53 +-
.../plan/relational/planner/PredicateUtils.java | 217 -------
.../iterative/rule/PushLimitThroughProject.java | 9 +
...ode.java => CreateOrUpdateTableDeviceNode.java} | 38 +-
.../PushLimitOffsetIntoTableScan.java | 188 ++----
.../planner/optimizations/SortElimination.java | 7 +-
.../optimizations/TransformSortToStreamSort.java | 18 +
.../sql/ast/AbstractQueryDeviceWithCache.java | 24 +-
.../relational/sql/ast/AbstractTraverseDevice.java | 83 ++-
.../plan/relational/sql/ast/AstVisitor.java | 2 +-
.../plan/relational/sql/ast/CountDevice.java | 8 +-
...CreateDevice.java => CreateOrUpdateDevice.java} | 6 +-
.../plan/relational/sql/ast/ShowDevice.java | 59 +-
.../plan/relational/sql/ast/Update.java | 62 +-
.../plan/relational/sql/ast/UpdateAssignment.java | 32 +-
.../plan/relational/sql/parser/AstBuilder.java | 116 ++--
.../plan/relational/sql/util/SqlFormatter.java | 2 +-
.../plan/statement/StatementVisitor.java | 21 +
.../plan/statement/crud/QueryStatement.java | 64 ++
.../metadata/model/CreateModelStatement.java | 85 +++
.../metadata/model/DropModelStatement.java | 71 +++
.../metadata/model/ShowAINodesStatement.java} | 25 +-
.../metadata/model/ShowModelsStatement.java | 79 +++
.../binary/CompareBinaryColumnTransformer.java | 3 +-
.../InBinaryMultiColumnTransformer.java} | 48 +-
.../InBooleanMultiColumnTransformer.java} | 47 +-
.../InDoubleMultiColumnTransformer.java} | 47 +-
.../InFloatMultiColumnTransformer.java} | 47 +-
.../InInt32MultiColumnTransformer.java} | 47 +-
.../InInt64MultiColumnTransformer.java} | 47 +-
.../dag/column/multi/InMultiColumnTransformer.java | 54 ++
.../column/ternary/BetweenColumnTransformer.java | 17 +-
.../ternary/CompareTernaryColumnTransformer.java | 14 +-
.../dag/column/unary/InColumnTransformer.java | 41 +-
.../scalar/DateBinFunctionColumnTransformer.java | 158 +++++
.../unary/scalar/TableBuiltinScalarFunction.java | 1 +
.../schemaengine/schemaregion/ISchemaRegion.java | 11 +-
.../schemaregion/SchemaRegionPlanType.java | 4 +
.../schemaregion/SchemaRegionPlanVisitor.java | 55 +-
.../attribute/DeviceAttributeStore.java | 52 +-
.../attribute/IDeviceAttributeStore.java | 13 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 574 +++++++++++-------
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 21 +-
.../visitor/SchemaRegionPlanDeserializer.java | 109 ++--
.../visitor/SchemaRegionPlanSerializer.java | 182 +++---
.../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 24 +-
.../write/req/SchemaRegionWritePlanFactory.java | 6 +
.../apache/iotdb/db/service/AINodeRPCService.java | 94 +++
.../AINodeRPCServiceMBean.java} | 16 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 80 ++-
.../db/service/DataNodeServerCommandLine.java | 224 -------
.../apache/iotdb/db/service/IoTDBShutdownHook.java | 8 +-
.../db/service/metrics/CompactionMetrics.java | 331 +++-------
.../performer/impl/FastCompactionPerformer.java | 5 +-
.../impl/ReadChunkCompactionPerformer.java | 118 ++--
.../impl/ReadPointCompactionPerformer.java | 5 +-
.../RepairUnsortedFileCompactionPerformer.java | 3 +-
.../execute/task/CompactionTaskSummary.java | 2 +-
.../execute/task/InnerSpaceCompactionTask.java | 567 +++++++++++------
.../task/RepairUnsortedFileCompactionTask.java | 65 +-
.../execute/task/SettleCompactionTask.java | 105 ++--
.../utils/CompactionTableSchemaCollector.java | 13 +-
.../compaction/execute/utils/CompactionUtils.java | 36 ++
.../fast/FastAlignedSeriesCompactionExecutor.java | 4 +-
.../FastNonAlignedSeriesCompactionExecutor.java | 4 +-
.../executor/fast/SeriesCompactionExecutor.java | 6 +-
.../executor/fast/element/AlignedPageElement.java | 5 +-
.../fast/element/ChunkMetadataElement.java | 10 +-
.../utils/executor/fast/element/FileElement.java | 10 +
.../fast/element/NonAlignedPageElement.java | 5 +-
.../utils/executor/fast/element/PageElement.java | 16 +-
.../utils/executor/fast/element/PointElement.java | 8 +-
.../execute/utils/reader/PointPriorityReader.java | 12 +-
.../utils/writer/AbstractCompactionWriter.java | 18 +-
.../writer/AbstractCrossCompactionWriter.java | 13 +-
.../writer/AbstractInnerCompactionWriter.java | 99 ++-
.../utils/writer/FastInnerCompactionWriter.java | 10 +-
.../writer/ReadPointInnerCompactionWriter.java | 7 +-
.../writer/RepairUnsortedFileCompactionWriter.java | 1 -
.../compaction/io/CompactionTsFileWriter.java | 3 +-
.../compaction/repair/RepairDataFileScanUtil.java | 3 +-
.../schedule/CompactionScheduleTaskManager.java | 1 +
.../DefaultCompactionTaskComparatorImpl.java | 16 +-
.../constant/InnerSequenceCompactionSelector.java | 16 +-
.../InnerUnsequenceCompactionSelector.java | 16 +-
.../estimator/AbstractCompactionEstimator.java | 3 +-
.../impl/NewSizeTieredCompactionSelector.java | 295 +++++++++
.../impl/RewriteCrossSpaceCompactionSelector.java | 4 +-
.../selector/impl/SettleSelectorImpl.java | 4 +-
.../impl/SizeTieredCompactionSelector.java | 12 +-
.../utils/CrossSpaceCompactionCandidate.java | 2 +-
.../selector/utils/TsFileResourceCandidate.java | 14 +-
.../compaction/settle/SettleRequestHandler.java | 2 +-
.../read/reader/chunk/DiskAlignedChunkLoader.java | 5 +
.../read/reader/chunk/DiskChunkLoader.java | 5 +
.../dataregion/read/reader/common/Element.java | 9 +-
.../read/reader/common/MergeReaderPriority.java | 73 +++
.../read/reader/common/PriorityMergeReader.java | 49 +-
.../storageengine/dataregion/tsfile/TsFileID.java | 34 +-
.../dataregion/tsfile/TsFileResource.java | 6 +-
.../tsfile/generator/TsFileNameGenerator.java | 34 ++
.../dataregion/utils/TsFileResourceUtils.java | 6 +-
.../load/active/ActiveLoadDirScanner.java | 3 +-
.../load/active/ActiveLoadPendingQueue.java | 4 +
.../active/ActiveLoadScheduledExecutorService.java | 9 +-
.../load/active/ActiveLoadTsFileLoader.java | 33 +-
.../rescon/quotas/DataNodeSpaceQuotaManager.java | 89 ++-
.../agent/SubscriptionBrokerAgent.java | 26 +-
.../db/subscription/broker/SubscriptionBroker.java | 81 ++-
.../broker/SubscriptionPrefetchingQueue.java | 283 +++++++--
.../broker/SubscriptionPrefetchingTabletQueue.java | 218 ++++---
.../broker/SubscriptionPrefetchingTsFileQueue.java | 313 ++--------
.../db/subscription/broker/SubscriptionStates.java | 121 ++++
.../db/subscription/event/SubscriptionEvent.java | 123 ++--
.../event/SubscriptionEventBinaryCache.java | 2 +-
.../event/batch/SubscriptionPipeEventBatch.java | 87 +++
.../event/batch/SubscriptionPipeEventBatches.java | 144 +++++
.../batch/SubscriptionPipeTabletEventBatch.java | 189 +++---
.../batch/SubscriptionPipeTsFileEventBatch.java | 83 ++-
.../event/pipe/SubscriptionPipeEmptyEvent.java | 2 +-
.../event/pipe/SubscriptionPipeEvents.java | 2 +-
.../pipe/SubscriptionPipeTabletBatchEvents.java | 4 +-
.../pipe/SubscriptionPipeTsFileBatchEvents.java | 19 +-
.../pipe/SubscriptionPipeTsFilePlainEvent.java | 2 +-
.../receiver/SubscriptionReceiverV1.java | 88 +--
.../apache/iotdb/db/tools/schema/MLogParser.java | 1 +
.../TsFileOverlapValidationAndRepairTool.java | 102 ++--
.../org/apache/iotdb/db/utils/CommonUtils.java | 43 ++
.../org/apache/iotdb/db/utils/DateTimeUtils.java | 2 +-
.../SchemaRegionSimpleRecoverTest.java | 81 +++
.../schemaRegion/SchemaRegionTestUtil.java | 30 +-
.../event/TsFileInsertionDataContainerTest.java | 38 ++
.../analyzer/LimitOffsetPushDownTest.java | 16 +
.../plan/relational/analyzer/SortTest.java | 94 +--
.../plan/relational/analyzer/SubQueryTest.java | 477 +++++++++++++++
.../fetcher/cache/TableDeviceSchemaCacheTest.java | 40 +-
.../planner/assertions/OffsetMatcher.java | 6 +
.../relational/planner/assertions/PlanAssert.java | 3 +-
.../planner/assertions/PlanMatchPattern.java | 5 +
.../column/unary/scalar/DateBinFunctionTest.java | 101 ++++
.../org/apache/iotdb/db/service/DaemonTest.java | 8 +-
.../db/service/DataNodeServerCommandLineTest.java | 218 -------
.../storageengine/dataregion/DataRegionTest.java | 22 +-
.../compaction/CompactionSchedulerTest.java | 96 +--
.../CompactionSchedulerWithFastPerformerTest.java | 96 +--
...eCompactionWithFastPerformerValidationTest.java | 18 +-
...actionWithReadPointPerformerValidationTest.java | 16 +-
.../inner/InnerCompactionSchedulerTest.java | 10 +-
.../inner/InnerSequenceCompactionSpeedTest.java | 4 +-
.../inner/InnerSpaceCompactionSelectorTest.java | 2 +-
.../NewSizeTieredCompactionSelectorTest.java | 644 ++++++++++++++++++++
.../repair/RepairUnsortedFileCompactionTest.java | 306 ----------
.../repair/RepairUnsortedFileSchedulerTest.java | 384 ++++++++++++
.../settle/SettleCompactionSelectorTest.java | 32 +-
.../settle/SettleCompactionTaskTest.java | 4 +-
.../settle/SettleRequestHandlerTest.java | 6 +-
.../compaction/utils/CompactionConfigRestorer.java | 4 +-
.../compaction/utils/MergeReaderPriorityTest.java | 96 +++
.../db/subscription/SubscriptionStatesTest.java | 119 ++++
iotdb-core/node-commons/pom.xml | 10 +
.../conf/iotdb-system.properties.template | 33 +-
.../apache/iotdb/commons/ServerCommandLine.java | 115 ++--
.../iotdb/commons/client/ClientPoolFactory.java | 52 ++
.../iotdb/commons/client/ainode/AINodeClient.java | 237 ++++++++
.../client/ainode/AINodeClientManager.java} | 39 +-
.../iotdb/commons/client/ainode/AINodeInfo.java} | 19 +-
.../client/ainode/AsyncAINodeServiceClient.java | 143 +++++
.../org/apache/iotdb/commons/cluster/NodeType.java | 3 +-
.../iotdb/commons/concurrent/ThreadName.java | 2 +
.../apache/iotdb/commons/conf/CommonConfig.java | 59 +-
.../iotdb/commons/conf/CommonDescriptor.java | 16 +-
.../exception/ainode/LoadModelException.java} | 18 +-
.../iotdb/commons/model/ModelHyperparameter.java | 81 +++
.../iotdb/commons/model/ModelInformation.java | 364 +++++++++++
.../apache/iotdb/commons/model/ModelStatus.java} | 20 +-
.../org/apache/iotdb/commons/model/ModelTable.java | 94 +++
.../org/apache/iotdb/commons/model/ModelType.java} | 18 +-
.../model/exception/ModelManagementException.java} | 18 +-
.../iotdb/commons/partition/SchemaPartition.java | 1 +
.../iotdb/commons/pipe/config/PipeConfig.java | 8 +
.../pipe/connector/client/IoTDBSyncClient.java | 76 +++
.../thrift/common/PipeTransferSliceReqHandler.java | 135 +++++
.../payload/thrift/request/PipeRequestType.java | 3 +
.../thrift/request/PipeTransferSliceReq.java | 171 ++++++
.../pipe/progress/PipeEventCommitManager.java | 29 +
.../apache/iotdb/commons/service/ServiceType.java | 1 +
.../subscription/config/SubscriptionConfig.java | 10 +-
.../commons/subscription/meta/topic/TopicMeta.java | 1 +
.../commons/utils/ThriftCommonsSerDeUtils.java | 59 ++
.../iotdb/commons/ServerCommandLineTest.java | 337 +++++++++++
iotdb-core/pom.xml | 8 +
.../db/relational/grammar/sql/RelationalSql.g4 | 2 +
iotdb-protocol/pom.xml | 1 +
iotdb-protocol/thrift-ainode/pom.xml | 69 +++
.../thrift-ainode/src/main/thrift/ainode.thrift | 91 +++
.../thrift-commons/src/main/thrift/common.thrift | 30 +
.../src/main/thrift/confignode.thrift | 128 +++-
.../src/main/thrift/datanode.thrift | 58 +-
pom.xml | 4 +-
420 files changed, 23040 insertions(+), 5089 deletions(-)
create mode 100644 .idea/icon.png
rename
integration-test/src/test/java/org/apache/iotdb/relational/it/schema/{IoTDBDeviceQueryIT.java
=> IoTDBDeviceIT.java} (74%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeTabletBatchEvents.java
=>
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPayloadExceedException.java
(53%)
copy
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/{PollPayload.java
=> PollTabletsPayload.java} (58%)
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/{SubscriptionPollTimer.java
=> PollTimer.java} (83%)
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/SetPartitioner.java
create mode 100644 iotdb-core/ainode/.gitignore
copy iotdb-protocol/pom.xml => iotdb-core/ainode/README.md (51%)
copy iotdb-protocol/pom.xml => iotdb-core/ainode/README_ZH.md (51%)
create mode 100644 iotdb-core/ainode/ainode.xml
copy {iotdb-client/client-py => iotdb-core/ainode}/iotdb/__init__.py (100%)
copy {iotdb-client/client-py/iotdb =>
iotdb-core/ainode/iotdb/ainode}/__init__.py (100%)
create mode 100644 iotdb-core/ainode/iotdb/ainode/attribute.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/client.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/config.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/constant.py
copy iotdb-client/client-py/iotdb/__init__.py =>
iotdb-core/ainode/iotdb/ainode/encryption.py (100%)
create mode 100644 iotdb-core/ainode/iotdb/ainode/exception.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/factory.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/handler.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/inference.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/log.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/parser.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/script.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/serde.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/service.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/storage.py
create mode 100644 iotdb-core/ainode/iotdb/ainode/util.py
create mode 100644 iotdb-core/ainode/pom.xml
create mode 100644 iotdb-core/ainode/pyproject.toml
create mode 100644 iotdb-core/ainode/resources/conf/ainode-env.bat
create mode 100644 iotdb-core/ainode/resources/conf/ainode-env.sh
create mode 100644 iotdb-core/ainode/resources/conf/iotdb-ainode.properties
create mode 100644 iotdb-core/ainode/resources/sbin/remove-ainode.bat
create mode 100755 iotdb-core/ainode/resources/sbin/remove-ainode.sh
create mode 100644 iotdb-core/ainode/resources/sbin/start-ainode.bat
create mode 100644 iotdb-core/ainode/resources/sbin/start-ainode.sh
create mode 100644 iotdb-core/ainode/resources/sbin/stop-ainode.bat
create mode 100644 iotdb-core/ainode/resources/sbin/stop-ainode.sh
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/AsyncAINodeHeartbeatClientPool.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/AINodeHeartbeatHandler.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/ainode/GetAINodeConfigurationPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/model/GetModelInfoPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/model/ShowModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/RegisterAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/RemoveAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ainode/UpdateAINodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/CreateModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/DropModelInNodePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/DropModelPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/model/UpdateModelInfoPlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ainode/AINodeConfigurationResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/ainode/AINodeRegisterResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/model/GetModelInfoResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/model/ModelTableResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ModelManager.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/node/{DataNodeHeartbeatCache.java
=> AINodeHeartbeatCache.java} (60%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/ModelInfo.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/model/CreateModelProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/model/DropModelProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/node/RemoveAINodeProcedure.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/RemoveAINodeState.java}
(75%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/model/CreateModelState.java}
(75%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/model/DropModelState.java}
(75%)
delete mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/service/ConfigNodeCommandLine.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> exception/ainode/GetModelInfoException.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> exception/ainode/ModelException.java} (70%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> exception/ainode/ModelNotFoundException.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> exception/runtime/ModelInferenceProcessException.java} (75%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/handler/AINodeRPCServiceThriftHandler.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/AINodeRPCServiceImpl.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> protocol/thrift/impl/IAINodeRPCServiceWithHandler.java} (75%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/AI/InferenceOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DeviceAttributeUpdater.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/schema/source/DevicePredicateHandler.java
copy
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
=>
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/BottomInferenceWindowParameter.java
(51%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEmptyEvent.java
=> queryengine/execution/operator/window/ainode/CountInferenceWindow.java}
(65%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/CountInferenceWindowParameter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> queryengine/execution/operator/window/ainode/HeadInferenceWindow.java} (70%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> queryengine/execution/operator/window/ainode/InferenceWindow.java} (73%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ainode/InferenceWindowParameter.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> queryengine/execution/operator/window/ainode/InferenceWindowType.java} (75%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> queryengine/execution/operator/window/ainode/TailInferenceWindow.java} (70%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> queryengine/plan/analyze/IModelFetcher.java} (75%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ModelFetcher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/CreateModelTask.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeTabletBatchEvents.java
=> queryengine/plan/execution/config/metadata/model/DropModelTask.java} (53%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/ShowAINodesTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/model/ShowModelsTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceAttributeUpdateNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AI/InferenceNode.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/model/ModelInferenceDescriptor.java
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/{CreateTableDeviceNode.java
=> CreateOrUpdateTableDeviceNode.java} (88%)
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{CreateDevice.java
=> CreateOrUpdateDevice.java} (95%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/CreateModelStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/DropModelStatement.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEmptyEvent.java
=> queryengine/plan/statement/metadata/model/ShowAINodesStatement.java} (56%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InBinaryMultiColumnTransformer.java} (50%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InBooleanMultiColumnTransformer.java} (50%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InDoubleMultiColumnTransformer.java} (50%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InFloatMultiColumnTransformer.java} (50%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InInt32MultiColumnTransformer.java} (50%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/{ternary/CompareTernaryColumnTransformer.java
=> multi/InInt64MultiColumnTransformer.java} (50%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/InMultiColumnTransformer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionColumnTransformer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/AINodeRPCService.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEvents.java
=> service/AINodeRPCServiceMBean.java} (74%)
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNodeServerCommandLine.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/impl/NewSizeTieredCompactionSelector.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/common/MergeReaderPriority.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SubscriptionStates.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeEventBatch.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeEventBatches.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/SubQueryTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/scalar/DateBinFunctionTest.java
delete mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/service/DataNodeServerCommandLineTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/inner/sizetiered/NewSizeTieredCompactionSelectorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairUnsortedFileSchedulerTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/MergeReaderPriorityTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/SubscriptionStatesTest.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AINodeClient.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeTabletBatchEvents.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AINodeClientManager.java}
(54%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AINodeInfo.java}
(70%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/client/ainode/AsyncAINodeServiceClient.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/exception/ainode/LoadModelException.java}
(75%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelHyperparameter.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelInformation.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=> node-commons/src/main/java/org/apache/iotdb/commons/model/ModelStatus.java}
(75%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/model/ModelTable.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=> node-commons/src/main/java/org/apache/iotdb/commons/model/ModelType.java}
(75%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/pipe/SubscriptionPipeEvents.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/model/exception/ModelManagementException.java}
(75%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/payload/thrift/common/PipeTransferSliceReqHandler.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/payload/thrift/request/PipeTransferSliceReq.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/ServerCommandLineTest.java
create mode 100644 iotdb-protocol/thrift-ainode/pom.xml
create mode 100644 iotdb-protocol/thrift-ainode/src/main/thrift/ainode.thrift