This is an automated email from the ASF dual-hosted git repository.
yongzao pushed a change to branch multi-db-cfd
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from d22bf8b3596 finish
add a8e9bbd297c Subscription: Subscription Management On ConfigNode
(#12149)
add b4c1a5d0aa0 Bump follow-redirects in /iotdb-connector/grafana-plugin
(#12182)
add 0f8d19f97af Bump org.apache.tomcat.embed:tomcat-embed-core from 9.0.83
to 9.0.86 (#12181)
add c8fcf1dfd8b Bump com.nimbusds:nimbus-jose-jwt from 9.34 to 9.37.2
(#12180)
add 1969f7e18b3 Fix deadlock when flush an empty TsFile and query
concurrently
add 0fc844bc416 Update verison to 1.3.2-SNAPSHOT (#12185)
add cc1842c5906 Fixed the bug that TimeoutChangeableTFastFramedTransport
is unused so that timeout changing is disabled in thrift transferring (#12186)
add fe0905a49f4 [IOTDB-6312] Throw correct error msg while using wrong
password
add 84ea460fe5e Fix flush command failed when dataregion using ratis
consensus (#12194)
add 5d931cded42 Add more query metrics for estimated memory and max
overlapped page
add 720f64eccb4 Change default threshold of slow query from 30s to 10s
add 1ca73226e7d Fix NPE in SessionConnection while first node in nodeurls
is unavailable
add b930cfee3b4 Pipe: fix meta sync unable to handle timeseries already
existed exception caused by CreateMultiTimeSeriesStatement & add
throwing-exception-processor for auto recovery show cases (#12198)
add 4cc6e7f3971 Append time column at the end of input columns in mappable
UDTF
add 0ef27f303a3 [IOTDB-6313] Fix uncorrect implementation in FILL(LINEAR)
add 614310aef60 [IOTDB-6314] Treat ExplainAnalyze as a query
add 79d2b2f2ccd [IOTDB-6315] Add Query Metric for TsFileResourceManager
add b8bcfe3de3e Bump black from 22.3.0 to 24.3.0 in
/iotdb-client/client-py (#12207)
add 2752553f0d9 Bump org.springframework:spring-web from 5.3.30 to 5.3.33
(#12084)
add 3324a81aa2e [IOTDB-6301] Optimize insert first for single replica
(#12209)
add 70e1d615244 Replace string device id with interface IDeviceID
add d1a974e1219 Pipe: avoid executing too many PipeMetaSyncProcedure after
system reboot (#12213)
add acf07a220d2 Remove isClusterMode configuration (#12193)
add 8a0a8c599b8 Bump org.apache.commons:commons-configuration2 from 2.9.0
to 2.10.1 (#12214)
add 18fc93be959 Refactor Procedure recover framework (#12202)
add 7c7eab768f0 Display 'UNKNOWN' in `SHOW FUNCTIONS` when CN accidentally
drop function in DN
add 8bb299e2498 Left rotate time column to the end of input columns in UDAF
add 8c044fcfb7d Introducing new features to IoTDB JVM GC options (#12088)
add 8b5626c8922 Pipe: filtered empty tsFiles which should not be parsed or
reported (#12216)
add 56e21e4fee1 support config snapshot parser (#12211)
add fa9f21e23cd Pipe Subscription: initialize the subscription agent on DN
(#12138)
add 0a65556c6fa Fix NPE problem in EXPLAIN ANALYZE
add 9feffb1510d Allow series data type not consistent in compaction
add 1e129ec8096 Remove duplicate lookups in dictionary encoder (#12224)
add f04e020df77 fix: consider more general type of nodes above TopK-Node
as parent
add 945112d642d Pipe: Introduced aggregate processor as the universal
aggregation framework (#12210)
add 8c8f66668bd Fix procedure concurrency problem caused by non-atomic
procedure Id generation (#12229)
add 58ade690a9c fix cn parser and code style. (#12231)
add d96556cfc7e Fix envelope function execution error without frequency
parameter (#12233)
add 960891dc0c9 Log: add logs for notifyLeaderReady, notifyLeaderChanged
and procedure workers (#12235)
add 8e78fcae1f1 Use heartbeat to update DataNode's ConfigNodeList (#12232)
add 806582343b8 remove JavaUtils dep (#12236)
add 6bee4cc6b7f Warn user if they use GraalVM (#12238)
add a5df27c75cf Region migration improvement (#12165)
add 16f4a97f568 fix: remove -XX:UseBiasedLock (#12239)
add 4da4fd80a72 feat: Refactored the visibility of some methods to make it
possible to add BasicAuthorizer implementations in other packages. (#12195)
add 39118785846 Optimize SeriesScanUtil by memorizing the order time and
satisfied information for each Seq and Unseq Resource (#12227)
add 563a71492b2 Subscription: fix some issues on CN (#12217)
add ebf52326b68 change cli classpath (#12237)
add 77f17daf4d5 Fix C++ client build problem (#12241)
add 8d802e60b88 [RatisConsensus] Bump ratis snapshot version (52e8db6) to
support force snapshot (#12242)
add bd61c224742 Optimize String value type infer logic (#12223)
add 1333ea7c4d7 IoTConsensus: Skip retry sending batch caused by
TApplicationException (#12243)
add 1b67601e976 Bump jackson.version from 2.15.3 to 2.15.4 (#12190)
add aaf51a0cad0 Merge branch 'master' into multi-db-cfd
add 1796863acfc add cluster IT
No new revisions were added by this update.
Summary of changes:
code-coverage/pom.xml | 2 +-
distribution/pom.xml | 14 +-
example/client-cpp-example/pom.xml | 2 +-
example/flink-sql/pom.xml | 2 +-
example/flink/pom.xml | 2 +-
example/hadoop/pom.xml | 2 +-
example/jdbc/pom.xml | 2 +-
example/kafka/pom.xml | 2 +-
example/mqtt-customize/pom.xml | 2 +-
example/mqtt/pom.xml | 2 +-
example/pipe-count-point-processor/pom.xml | 2 +-
example/pipe-opc-ua-sink/pom.xml | 2 +-
.../apache/iotdb/opcua/ClientExampleRunner.java | 13 +-
.../java/org/apache/iotdb/opcua/ClientTest.java | 19 +-
.../iotdb/opcua/IoTDBKeyStoreLoaderClient.java | 14 +-
example/pom.xml | 2 +-
example/pulsar/pom.xml | 2 +-
example/rabbitmq/pom.xml | 2 +-
example/rest-java-example/pom.xml | 2 +-
example/rocketmq/pom.xml | 2 +-
example/schema/pom.xml | 4 +-
example/session/pom.xml | 2 +-
.../apache/iotdb/SubscriptionSessionExample.java | 99 ++
example/trigger/pom.xml | 2 +-
example/tsfile/pom.xml | 2 +-
.../apache/iotdb/tsfile/TsFileSequenceRead.java | 3 +-
example/udf/pom.xml | 2 +-
.../java/org/apache/iotdb/udf/UDAFExample.java | 16 +-
integration-test/pom.xml | 40 +-
.../apache/iotdb/db/query/udf/example/UDAFAvg.java | 16 +-
.../iotdb/db/query/udf/example/UDAFCount.java | 2 +-
.../apache/iotdb/db/query/udf/example/UDAFSum.java | 16 +-
.../iotdb/it/env/cluster/env/AbstractEnv.java | 29 +-
.../it/env/cluster/node/AbstractNodeWrapper.java | 4 +-
.../iotdb/it/env/remote/env/RemoteServerEnv.java | 6 +
.../java/org/apache/iotdb/itbase/env/BaseEnv.java | 3 +
.../apache/iotdb/cli/it/StartClientScriptIT.java | 11 +-
.../it/IoTDBRegionMigrateReliabilityIT.java | 428 ++++++
...a => IoTDBRegionGroupLeaderDistributionIT.java} | 123 +-
.../IoTDBRegionGroupLeaderDistributionIT2.java | 155 +++
.../confignode/it/procedure/IoTDBProcedureIT.java | 6 +-
.../db/it/IOTDBInsertWithTimeAtAnyIndexIT.java | 6 +-
.../java/org/apache/iotdb/db/it/IoTDBFilterIT.java | 4 +-
.../org/apache/iotdb/db/it/IoTDBRepairDataIT.java | 3 +-
.../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 2 +-
.../IoTDBOrderByLimitOffsetAlignByDeviceIT.java | 2 +-
.../db/it/aligned/IoTDBInsertAlignedValuesIT.java | 30 +-
.../it/last/IoTDBLastQueryWithLimitOffsetIT.java | 6 +-
.../iotdb/db/it/last/IoTDBLastWithTTLIT.java | 8 +-
.../iotdb/db/it/query/IoTDBCaseWhenThenIT.java | 4 +-
.../iotdb/db/it/query/IoTDBNullValueFillIT.java | 12 +-
.../iotdb/db/it/schema/IoTDBExtendTemplateIT.java | 16 +-
.../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java | 4 +-
.../iotdb/db/it/udf/IoTDBUDFManagementIT.java | 2 +-
.../pipe/it/autocreate/IoTDBPipeProcessorIT.java | 9 +-
.../iotdb/pipe/it/single/AbstractPipeSingleIT.java | 33 +-
.../iotdb/pipe/it/single/IoTDBPipeAggregateIT.java | 121 ++
.../it/{ => single}/IoTDBPipeSingleEnvDemoIT.java | 20 +-
.../session/it/IoTDBSessionAlignedInsertIT.java | 4 +-
.../iotdb/session/it/IoTDBSessionSimpleIT.java | 14 +-
.../subscription/it/IoTDBSubscriptionBasicIT.java | 245 ++++
.../it/IoTDBSubscriptionConsumerGroupIT.java | 342 +++++
.../subscription/it/IoTDBSubscriptionTopicIT.java | 250 ++++
.../iotdb/zeppelin/it/IoTDBInterpreterIT.java | 8 +-
iotdb-api/common-api/pom.xml | 2 +-
.../org/apache/iotdb/tsfile/utils/Accountable.java | 13 +-
.../iotdb/tsfile/utils/RamUsageEstimator.java | 4 +-
iotdb-api/external-api/pom.xml | 2 +-
iotdb-api/pipe-api/pom.xml | 4 +-
.../api/customizer/parameter/PipeParameters.java | 24 +-
iotdb-api/pom.xml | 2 +-
iotdb-api/trigger-api/pom.xml | 4 +-
iotdb-api/udf-api/pom.xml | 4 +-
.../main/java/org/apache/iotdb/udf/api/UDAF.java | 2 +-
.../org/apache/iotdb/udf/api/utils/RowImpl.java | 3 +-
iotdb-client/cli/pom.xml | 22 +-
.../cli/src/assembly/resources/sbin/start-cli.sh | 4 +-
iotdb-client/client-cpp/pom.xml | 4 +-
.../client-py/iotdb/template/TemplateNode.py | 9 +-
.../iotdb/tsfile/common/constant/TsFileConstant.py | 3 +-
iotdb-client/client-py/pom.xml | 4 +-
iotdb-client/client-py/requirements_dev.txt | 2 +-
iotdb-client/client-py/tests/test_dataframe.py | 2 +-
iotdb-client/isession/pom.xml | 12 +-
.../java/org/apache/iotdb/isession/ISession.java | 19 +
iotdb-client/jdbc/pom.xml | 12 +-
iotdb-client/pom.xml | 2 +-
iotdb-client/service-rpc/pom.xml | 13 +-
.../iotdb/rpc/DeepCopyRpcTransportFactory.java | 2 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 15 +
.../iotdb/rpc/ZeroCopyRpcTransportFactory.java | 2 +-
.../payload/config/ConsumerConfig.java | 60 +
.../payload/config/ConsumerConstant.java | 12 +-
.../subscription/payload/config/TopicConfig.java | 94 ++
.../subscription/payload/config/TopicConstant.java | 29 +-
.../payload/request/ConsumerConfig.java | 85 --
.../payload/request/PipeSubscribeCommitReq.java | 35 +-
.../payload/request/PipeSubscribeHandshakeReq.java | 3 +-
.../payload/request/PipeSubscribePollReq.java | 18 +-
.../payload/request/PipeSubscribeSubscribeReq.java | 16 +-
.../request/PipeSubscribeUnsubscribeReq.java | 16 +-
.../payload/response/EnrichedTablets.java | 47 +-
.../response/PipeSubscribeHandshakeResp.java | 21 +-
.../payload/response/PipeSubscribePollResp.java | 55 +-
iotdb-client/session/pom.xml | 14 +-
.../java/org/apache/iotdb/session/Session.java | 67 +-
.../apache/iotdb/session/SessionConnection.java | 84 +-
iotdb-connector/flink-iotdb-connector/pom.xml | 12 +-
iotdb-connector/flink-sql-iotdb-connector/pom.xml | 14 +-
.../flink/sql/client/IoTDBWebSocketClient.java | 9 +-
iotdb-connector/flink-tsfile-connector/pom.xml | 8 +-
iotdb-connector/grafana-connector/pom.xml | 4 +-
iotdb-connector/grafana-plugin/pom.xml | 2 +-
iotdb-connector/grafana-plugin/yarn.lock | 6 +-
iotdb-connector/hadoop/pom.xml | 6 +-
iotdb-connector/hive-connector/pom.xml | 8 +-
iotdb-connector/pom.xml | 2 +-
iotdb-connector/spark-iotdb-connector/pom.xml | 8 +-
.../spark-iotdb-connector/scala_2.11/pom.xml | 2 +-
.../spark-iotdb-connector/scala_2.12/pom.xml | 2 +-
iotdb-connector/spark-tsfile/pom.xml | 8 +-
.../tsfile/qp/optimizer/PhysicalOptimizer.java | 14 +-
.../apache/iotdb/spark/tsfile/DefaultSource.scala | 3 +-
iotdb-connector/zeppelin-interpreter/pom.xml | 6 +-
iotdb-core/antlr/pom.xml | 2 +-
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 3 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 30 +
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 12 +
iotdb-core/confignode/pom.xml | 28 +-
.../confignode/client/DataNodeRequestType.java | 10 +-
.../client/async/AsyncDataNodeClientPool.java | 51 +-
.../client/async/handlers/AsyncClientHandler.java | 25 +-
.../heartbeat/DataNodeHeartbeatHandler.java | 4 +
.../ConsumerGroupPushMetaRPCHandler.java | 91 ++
.../rpc/subscription/TopicPushMetaRPCHandler.java | 89 ++
.../client/sync/SyncDataNodeClientPool.java | 5 +-
.../consensus/request/ConfigPhysicalPlan.java | 54 +-
.../consensus/request/ConfigPhysicalPlanType.java | 21 +-
.../consensus/request/auth/AuthorPlan.java | 20 +-
.../subscription/ShowSubscriptionPlan.java} | 33 +-
.../subscription/ShowTopicPlan.java} | 33 +-
...ocationPlan.java => AddRegionLocationPlan.java} | 40 +-
...tionPlan.java => RemoveRegionLocationPlan.java} | 46 +-
.../write/partition/UpdateRegionLocationPlan.java | 1 +
.../pipe/runtime/PipeHandleMetaChangePlan.java | 18 +
.../pipe/task/OperateMultiplePipesPlanV2.java | 125 ++
.../write/procedure/UpdateProcedurePlan.java | 9 +-
.../consumer/AlterConsumerGroupPlan.java} | 50 +-
.../runtime/ConsumerGroupHandleMetaChangePlan.java | 85 ++
.../topic/AlterMultipleTopicsPlan.java | 101 ++
.../topic/AlterTopicPlan.java} | 50 +-
.../topic/CreateTopicPlan.java} | 50 +-
.../topic/DropTopicPlan.java} | 50 +-
.../topic/runtime/TopicHandleMetaChangePlan.java} | 53 +-
.../response/pipe/task/PipeTableResp.java | 3 +
.../subscription/SubscriptionTableResp.java | 84 ++
.../response/subscription/TopicTableResp.java | 76 ++
.../statemachine/ConfigRegionStateMachine.java | 30 +-
.../iotdb/confignode/manager/ConfigManager.java | 118 +-
.../apache/iotdb/confignode/manager/IManager.java | 54 +-
.../confignode/manager/PermissionManager.java | 1 +
.../iotdb/confignode/manager/ProcedureManager.java | 506 +++++---
.../manager/consensus/ConsensusManager.java | 6 +
.../manager/load/balancer/RouteBalancer.java | 25 +-
.../confignode/manager/load/cache/LoadCache.java | 14 +
.../manager/load/service/HeartbeatService.java | 25 +
.../manager/load/service/StatisticsService.java | 26 +-
.../iotdb/confignode/manager/node/NodeManager.java | 8 +-
.../manager/partition/PartitionManager.java | 46 +-
.../pipe/coordinator/runtime/PipeMetaSyncer.java | 2 +-
.../pipe/coordinator/task/PipeTaskCoordinator.java | 4 +
.../coordinator/task/PipeTaskCoordinatorLock.java | 6 +-
.../agent/plugin/PipeConfigNodePluginAgent.java | 10 +-
.../PipeConfigRegionConnectorConstructor.java | 2 +-
.../PipeConfigRegionExtractorConstructor.java | 2 +-
.../PipeConfigRegionProcessorConstructor.java | 2 +-
.../transfer/execution/PipeConfigNodeSubtask.java | 21 +-
.../subscription/SubscriptionCoordinator.java | 246 ++++
.../subscription/SubscriptionManager.java} | 25 +-
.../subscription/SubscriptionMetaSyncer.java | 117 ++
.../confignode/persistence/ProcedureInfo.java | 237 +++-
.../persistence/executor/ConfigPlanExecutor.java | 45 +
.../partition/DatabasePartitionTable.java | 16 +-
.../persistence/partition/PartitionInfo.java | 41 +-
.../confignode/persistence/pipe/PipeInfo.java | 11 +
.../persistence/pipe/PipePluginInfo.java | 4 +-
.../confignode/persistence/pipe/PipeTaskInfo.java | 55 +-
.../schema/CNPhysicalPlanGenerator.java | 390 ++++++
.../schema/CNSnapshotFileType.java} | 16 +-
.../schema/ConfignodeSnapshotParser.java | 167 +++
.../persistence/subscription/SubscriptionInfo.java | 664 ++++++++++
.../procedure/CompletedProcedureRecycler.java | 6 +-
.../iotdb/confignode/procedure/Procedure.java | 14 +-
.../confignode/procedure/ProcedureExecutor.java | 117 +-
.../procedure/TimeoutExecutorThread.java | 2 +-
.../procedure/env/ConfigNodeProcedureEnv.java | 228 +++-
...moveHandler.java => RegionMaintainHandler.java} | 181 ++-
.../procedure/impl/StateMachineProcedure.java | 14 +-
.../impl/node/AddConfigNodeProcedure.java | 1 -
.../impl/node/RemoveConfigNodeProcedure.java | 1 -
.../impl/node/RemoveDataNodeProcedure.java | 22 +-
.../impl/pipe/AbstractOperatePipeProcedureV2.java | 39 +-
.../procedure/impl/pipe/PipeTaskOperation.java | 3 +-
.../runtime/PipeHandleLeaderChangeProcedure.java | 16 +-
.../runtime/PipeHandleMetaChangeProcedure.java | 16 +-
.../impl/pipe/runtime/PipeMetaSyncProcedure.java | 42 +-
.../impl/pipe/task/AlterPipeProcedureV2.java | 17 +-
.../impl/pipe/task/CreatePipeProcedureV2.java | 48 +-
.../impl/pipe/task/DropPipeProcedureV2.java | 33 +-
.../impl/pipe/task/StartPipeProcedureV2.java | 21 +-
.../impl/pipe/task/StopPipeProcedureV2.java | 21 +-
.../impl/region/AddRegionPeerProcedure.java | 203 +++
.../impl/region/RegionMigrateProcedure.java | 182 +--
.../impl/region/RemoveRegionPeerProcedure.java | 188 +++
.../AbstractOperateSubscriptionProcedure.java | 342 +++++
.../SubscriptionOperation.java} | 25 +-
.../consumer/AlterConsumerGroupProcedure.java | 278 ++++
.../consumer/CreateConsumerProcedure.java | 127 ++
.../consumer/DropConsumerProcedure.java | 96 ++
.../runtime/ConsumerGroupMetaSyncProcedure.java | 158 +++
...bstractOperateSubscriptionAndPipeProcedure.java | 159 +++
.../subscription/CreateSubscriptionProcedure.java | 465 +++++++
.../subscription/DropSubscriptionProcedure.java | 439 +++++++
.../subscription/topic/AlterTopicProcedure.java | 244 ++++
.../subscription/topic/CreateTopicProcedure.java | 228 ++++
.../subscription/topic/DropTopicProcedure.java | 153 +++
.../topic/runtime/TopicMetaSyncProcedure.java | 157 +++
.../impl/sync/AuthOperationProcedure.java | 21 +-
.../AddNeverFinishSubProcedureProcedure.java | 6 +
.../impl/testonly/NeverFinishProcedure.java | 17 +
...ransitionState.java => AddRegionPeerState.java} | 10 +-
.../procedure/state/RegionTransitionState.java | 5 +-
...sitionState.java => RemoveRegionPeerState.java} | 8 +-
.../OperateSubscriptionState.java} | 14 +-
.../procedure/store/ConfigProcedureStore.java | 44 +-
.../procedure/store/IProcedureStore.java | 17 +-
.../procedure/store/ProcedureFactory.java | 72 ++
.../confignode/procedure/store/ProcedureType.java | 20 +-
.../confignode/procedure/store/ProcedureWAL.java | 46 +-
.../thrift/ConfigNodeRPCServiceProcessor.java | 67 +-
.../request/ConfigPhysicalPlanSerDeTest.java | 194 +++
.../consensus/request/TestOnlyPlan.java} | 23 +-
...alancerTest.java => CFDLeaderBalancerTest.java} | 8 +-
.../persistence/CNPhysicalPlanGeneratorTest.java | 446 +++++++
.../confignode/persistence/ProcedureInfoTest.java | 75 ++
.../confignode/procedure/NoopProcedureStore.java | 31 +-
.../UpgradeFromWALToConsensusLayerTest.java | 137 ++
...reTest.java => AddRegionPeerProcedureTest.java} | 16 +-
.../impl/region/RegionMigrateProcedureTest.java | 16 +-
...est.java => RemoveRegionPeerProcedureTest.java} | 16 +-
.../consumer/CreateConsumerProcedureTest.java | 78 ++
.../consumer/DropConsumerProcedureTest.java | 76 ++
.../ConsumerGroupMetaSyncProcedureTest.java | 55 +
.../CreateSubscriptionProcedureTest.java | 114 ++
.../DropSubscriptionProcedureTest.java | 102 ++
.../topic/AlterTopicProcedureTest.java | 60 +
.../topic/CreateTopicProcedureTest.java | 61 +
.../subscription/topic/DropTopicProcedureTest.java | 52 +
.../topic/runtime/TopicMetaSyncProcedureTest.java | 55 +
.../procedure/util/ProcedureTestUtil.java | 11 -
iotdb-core/consensus/pom.xml | 14 +-
.../org/apache/iotdb/consensus/IConsensus.java | 15 +-
.../org/apache/iotdb/consensus/common/Peer.java | 21 +
.../apache/iotdb/consensus/iot/IoTConsensus.java | 26 +-
.../consensus/iot/IoTConsensusServerImpl.java | 102 +-
.../consensus/iot/client/DispatchLogHandler.java | 23 +-
.../apache/iotdb/consensus/ratis/DiskGuardian.java | 2 +-
.../iotdb/consensus/ratis/RatisConsensus.java | 35 +-
.../iotdb/consensus/ratis/utils/Retriable.java | 11 +-
.../apache/iotdb/consensus/ratis/utils/Utils.java | 1 +
.../iotdb/consensus/simple/SimpleConsensus.java | 7 +-
.../apache/iotdb/consensus/iot/StabilityTest.java | 10 +-
.../iotdb/consensus/ratis/DiskGuardianTest.java | 4 +-
.../iotdb/consensus/ratis/RatisConsensusTest.java | 2 +-
.../apache/iotdb/consensus/ratis/TestUtils.java | 6 +-
.../consensus/simple/SimpleConsensusTest.java | 2 +-
iotdb-core/datanode/pom.xml | 38 +-
.../src/assembly/resources/conf/datanode-env.bat | 36 +-
.../src/assembly/resources/conf/datanode-env.sh | 38 +-
.../src/main/codegen/templates/linearFill.ftl | 25 +-
.../org/apache/iotdb/db/audit/AuditLogger.java | 4 +
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 75 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 6 +-
.../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 17 +-
.../schemaregion/SchemaRegionStateMachine.java | 23 +
.../PipeDataRegionConnectorConstructor.java | 2 +
.../dataregion/PipeDataRegionPluginAgent.java | 10 +-
.../PipeDataRegionProcessorConstructor.java | 15 +
.../PipeSchemaRegionConnectorConstructor.java | 2 +-
.../PipeSchemaRegionExtractorConstructor.java | 2 +-
.../schemaregion/PipeSchemaRegionPluginAgent.java | 10 +-
.../PipeSchemaRegionProcessorConstructor.java | 2 +-
.../agent/runtime/PipeDataNodeRuntimeAgent.java | 6 +
.../protocol/legacy/IoTDBLegacyPipeConnector.java | 6 +-
.../connector/protocol/opcua/OpcUaConnector.java | 16 +-
.../protocol/opcua/OpcUaKeyStoreLoader.java | 20 +-
.../protocol/opcua/OpcUaServerBuilder.java | 44 +-
.../async/IoTDBDataRegionAsyncConnector.java | 3 +-
.../thrift/sync/IoTDBDataRegionSyncConnector.java | 6 +-
.../protocol/writeback/WriteBackConnector.java | 2 +-
.../pipe/event/common/row/PipeResetTabletRow.java | 54 +
.../db/pipe/event/common/row/PipeRowCollector.java | 9 +-
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 14 +-
.../common/tablet/PipeRawTabletInsertionEvent.java | 23 +-
.../tablet/TabletInsertionDataContainer.java | 2 +-
.../common/tsfile/PipeTsFileInsertionEvent.java | 38 +-
.../tsfile/TsFileInsertionDataContainer.java | 40 +-
.../executor/PipeConnectorSubtaskExecutor.java | 4 +
.../executor/PipeSubtaskExecutorManager.java | 8 +
.../PipeHistoricalDataRegionTsFileExtractor.java | 29 +-
.../realtime/PipeRealtimeDataRegionExtractor.java | 6 +-
.../realtime/epoch/TsFileEpochManager.java | 6 +-
.../schemaregion/IoTDBSchemaRegionExtractor.java | 4 +-
.../aggregate/AbstractFormalProcessor.java | 54 +
.../processor/aggregate/AggregateProcessor.java | 719 +++++++++++
.../aggregate/TimeSeriesRuntimeState.java | 396 ++++++
.../aggregatedresult/AggregatedResultOperator.java | 62 +
.../standardstatistics/AverageOperator.java | 56 +
.../ClearanceFactorOperator.java | 60 +
.../standardstatistics/CrestFactorOperator.java | 59 +
.../standardstatistics/FormFactorOperator.java | 57 +
.../standardstatistics/KurtosisOperator.java | 67 +
.../standardstatistics/PeakOperator.java | 52 +
.../standardstatistics/PulseFactorOperator.java | 57 +
.../standardstatistics/RootMeanSquareOperator.java | 57 +
.../standardstatistics/SkewnessOperator.java | 63 +
.../standardstatistics/VarianceOperator.java | 59 +
.../CustomizedReadableIntermediateResults.java | 158 +++
.../IntermediateResultOperator.java | 113 ++
.../sametype/numeric/AbsoluteMaxOperator.java | 71 +
.../numeric/AbstractSameTypeNumericOperator.java | 152 +++
.../numeric/IntegralPoweredSumOperator.java | 77 ++
.../doubletype/FractionPoweredSumOperator.java | 137 ++
.../specifictype/integertype/CountOperator.java | 125 ++
.../processor/AbstractOperatorProcessor.java | 73 ++
.../StandardStatisticsOperatorProcessor.java | 76 ++
.../window/datastructure/TimeSeriesWindow.java | 495 +++++++
.../window/datastructure/WindowOutput.java | 71 +
.../window/datastructure/WindowState.java | 75 ++
.../AbstractSimpleTimeWindowingProcessor.java | 102 ++
.../processor/AbstractWindowingProcessor.java | 119 ++
.../processor/TumblingWindowingProcessor.java | 110 ++
.../sdt/SwingingDoorTrendingFilter.java | 8 +-
.../sdt/SwingingDoorTrendingSamplingProcessor.java | 6 +-
.../SimpleConsensusProgressIndexAssigner.java | 6 +
.../receiver/PipeStatementTSStatusVisitor.java | 13 +-
.../receiver/thrift/IoTDBDataNodeReceiver.java | 2 +-
.../db/pipe/resource/memory/PipeMemoryManager.java | 2 +-
.../pipe/resource/memory/PipeMemoryWeighUtil.java | 17 +-
.../pipe/resource/tsfile/PipeTsFileResource.java | 16 +-
.../resource/tsfile/PipeTsFileResourceManager.java | 5 +-
.../pipe/task/builder/PipeDataNodeTaskBuilder.java | 46 +-
.../db/pipe/task/stage/PipeTaskConnectorStage.java | 19 +-
.../db/pipe/task/stage/PipeTaskProcessorStage.java | 47 +-
.../subtask/connector/PipeConnectorSubtask.java | 4 +-
.../connector/PipeConnectorSubtaskLifeCycle.java | 4 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 78 +-
.../iotdb/db/protocol/client/ConfigNodeInfo.java | 34 +-
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 5 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 248 +++-
.../db/queryengine/common/DataNodeEndPoints.java | 26 +
.../common/header/ColumnHeaderConstant.java | 19 +
.../common/header/DatasetHeaderFactory.java | 8 +
.../execution/aggregation/UDAFAccumulator.java | 8 +
.../queryengine/execution/driver/DataDriver.java | 2 +
.../fragment/FragmentInstanceContext.java | 4 +
.../fragment/FragmentInstanceManager.java | 12 +-
.../execution/fragment/QueryStatistics.java | 2 +
.../execution/load/LoadTsFileManager.java | 3 +-
.../queryengine/execution/load/TsFileSplitter.java | 24 +-
.../operator/process/fill/linear/LinearFill.java | 49 +-
.../execution/operator/source/FileLoaderUtils.java | 6 +-
.../execution/operator/source/SeriesScanUtil.java | 100 +-
.../metric/QueryRelatedResourceMetricSet.java | 102 ++
.../metric/SeriesScanCostMetricSet.java | 22 +
.../iotdb/db/queryengine/plan/Coordinator.java | 3 +-
.../db/queryengine/plan/analyze/Analysis.java | 8 +
.../plan/analyze/LoadTsfileAnalyzer.java | 51 +-
.../plan/execution/config/ConfigTaskVisitor.java | 31 +
.../config/executor/ClusterConfigTaskExecutor.java | 303 ++++-
.../config/executor/IConfigTaskExecutor.java | 13 +
.../config/metadata/ShowFunctionsTask.java | 3 +-
.../config/sys/subscription/CreateTopicTask.java | 42 +
.../config/sys/subscription/DropTopicTask.java | 42 +
.../sys/subscription/ShowSubscriptionTask.java | 86 ++
.../config/sys/subscription/ShowTopicsTask.java | 80 ++
.../visitor/ColumnTransformerVisitor.java | 20 +-
.../plan/optimization/ColumnInjectionPushDown.java | 2 +-
.../plan/optimization/LimitOffsetPushDown.java | 2 +-
.../OrderByExpressionWithLimitChangeToTopK.java | 70 +-
.../plan/optimization/PredicatePushDown.java | 2 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 94 +-
.../plan/planner/LocalExecutionPlanner.java | 5 +-
.../queryengine/plan/planner/LogicalPlanner.java | 2 +-
.../SimpleFragmentParallelPlanner.java | 5 +-
.../plan/planner/plan/node/PlanVisitor.java | 8 +-
.../plan/node/load/LoadSingleTsFileNode.java | 5 +-
.../plan/node/pipe/PipeEnrichedInsertNode.java | 2 +-
.../plan/planner/plan/node/write/InsertNode.java | 38 +-
.../planner/plan/node/write/InsertTabletNode.java | 3 +-
.../plan/scheduler/load/LoadTsFileScheduler.java | 23 +-
.../queryengine/plan/statement/StatementType.java | 8 +-
.../plan/statement/StatementVisitor.java | 21 +
.../subscription/CreateTopicStatement.java | 88 ++
.../metadata/subscription/DropTopicStatement.java | 76 ++
.../subscription/ShowSubscriptionsStatement.java | 77 ++
.../metadata/subscription/ShowTopicsStatement.java | 77 ++
.../statement/sys/ExplainAnalyzeStatement.java | 7 +
.../apache/iotdb/db/schemaengine/SchemaEngine.java | 5 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 12 +-
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 7 +-
.../schemaregion/utils/ResourceByPathUtils.java | 8 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 8 +-
.../apache/iotdb/db/service/IoTDBShutdownHook.java | 11 +-
.../iotdb/db/service/RegionMigrateService.java | 169 ++-
.../iotdb/db/storageengine/StorageEngine.java | 8 +-
.../buffer/TimeSeriesMetadataCache.java | 29 +-
.../db/storageengine/dataregion/DataRegion.java | 61 +-
.../dataregion/DeviceLastFlushTime.java | 8 +-
.../dataregion/HashLastFlushTimeMap.java | 45 +-
.../storageengine/dataregion/ILastFlushTime.java | 6 +-
.../dataregion/ILastFlushTimeMap.java | 16 +-
.../dataregion/PartitionLastFlushTime.java | 6 +-
.../performer/impl/FastCompactionPerformer.java | 9 +-
.../impl/ReadChunkCompactionPerformer.java | 56 +-
.../impl/ReadPointCompactionPerformer.java | 20 +-
.../subtask/FastCompactionPerformerSubTask.java | 7 +-
.../task/subtask/ReadPointPerformerSubTask.java | 5 +-
.../execute/utils/CompactionPathUtils.java | 12 +-
.../compaction/execute/utils/CompactionUtils.java | 3 +-
.../execute/utils/MultiTsFileDeviceIterator.java | 29 +-
.../fast/AlignedSeriesCompactionExecutor.java | 25 +-
.../fast/NonAlignedSeriesCompactionExecutor.java | 3 +-
.../executor/fast/SeriesCompactionExecutor.java | 5 +-
.../readchunk/AlignedSeriesCompactionExecutor.java | 8 +-
.../ReadChunkAlignedSeriesCompactionExecutor.java | 21 +-
.../readchunk/SingleSeriesCompactionExecutor.java | 8 +-
.../utils/writer/AbstractCompactionWriter.java | 10 +-
.../writer/AbstractCrossCompactionWriter.java | 3 +-
.../writer/AbstractInnerCompactionWriter.java | 3 +-
.../compaction/io/CompactionTsFileReader.java | 59 +-
.../compaction/repair/RepairDataFileScanUtil.java | 20 +-
.../estimator/AbstractCompactionEstimator.java | 5 +-
.../estimator/CompactionEstimateUtils.java | 5 +-
.../impl/RewriteCrossSpaceCompactionSelector.java | 3 +-
.../utils/CrossSpaceCompactionCandidate.java | 3 +-
.../compaction/selector/utils/DeviceInfo.java | 6 +-
.../selector/utils/TsFileResourceCandidate.java | 11 +-
.../compaction/tool/SingleSequenceFileTask.java | 3 +-
.../compaction/tool/TsFileStatisticReader.java | 11 +-
.../compaction/tool/UnseqSpaceStatistics.java | 18 +-
.../dataregion/flush/MemTableFlushTask.java | 14 +-
.../dataregion/memtable/AbstractMemTable.java | 41 +-
.../dataregion/memtable/DeviceIDFactory.java | 7 +-
.../dataregion/memtable/IMemTable.java | 3 +-
.../dataregion/memtable/PrimitiveMemTable.java | 2 +
.../dataregion/memtable/TsFileProcessor.java | 58 +-
.../dataregion/read/QueryDataSource.java | 115 +-
.../read/reader/chunk/MemChunkReader.java | 6 +
.../dataregion/read/reader/common/Element.java | 10 +-
.../read/reader/common/PriorityMergeReader.java | 27 +-
.../dataregion/tsfile/TsFileManager.java | 6 +-
.../dataregion/tsfile/TsFileResource.java | 33 +-
.../tsfile/timeindex/DeviceTimeIndex.java | 56 +-
.../dataregion/tsfile/timeindex/FileTimeIndex.java | 23 +-
.../dataregion/tsfile/timeindex/ITimeIndex.java | 29 +-
.../dataregion/utils/TsFileResourceUtils.java | 25 +-
.../storageengine/dataregion/wal/WALManager.java | 8 +-
.../wal/recover/file/TsFilePlanRedoer.java | 6 +-
.../file/UnsealedTsFileRecoverPerformer.java | 18 +-
.../dataregion/wal/utils/WALInsertNodeCache.java | 2 +-
.../dataregion/wal/utils/WALWriteUtils.java | 18 +
.../rescon/memory/TsFileResourceManager.java | 35 +-
.../db/subscription/agent/SubscriptionAgent.java | 58 +
.../agent/SubscriptionAgentLauncher.java | 170 +++
.../agent/SubscriptionBrokerAgent.java | 135 ++
.../agent/SubscriptionConsumerAgent.java | 203 +++
.../agent/SubscriptionReceiverAgent.java | 108 ++
.../agent/SubscriptionRuntimeAgent.java | 98 ++
.../subscription/agent/SubscriptionTopicAgent.java | 140 ++
.../broker/EnrichedTabletsBinaryCache.java | 62 +
.../broker/SerializedEnrichedEvent.java | 114 ++
.../db/subscription/broker/SubscriptionBroker.java | 119 ++
.../broker/SubscriptionPrefetchingQueue.java | 263 ++++
.../executor/SubscriptionSubtaskExecutor.java} | 14 +-
.../receiver/SubscriptionReceiver.java} | 18 +-
.../receiver/SubscriptionReceiverV1.java | 553 ++++++++
.../stage/SubscriptionTaskConnectorStage.java} | 40 +-
.../task/subtask/SubscriptionConnectorSubtask.java | 75 ++
.../SubscriptionConnectorSubtaskLifeCycle.java} | 56 +-
.../SubscriptionConnectorSubtaskManager.java | 198 +++
.../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 5 +-
.../iotdb/db/tools/TsFileResourcePrinter.java | 6 +-
.../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 24 +-
.../apache/iotdb/db/tools/TsFileSketchTool.java | 52 +-
.../iotdb/db/tools/TsFileSplitByPartitionTool.java | 27 +-
.../org/apache/iotdb/db/tools/TsFileSplitTool.java | 11 +-
.../db/tools/schema/SRStatementGenerator.java | 13 +-
.../tools/schema/SchemaRegionSnapshotParser.java | 11 +-
.../TsFileOverlapValidationAndRepairTool.java | 14 +-
.../db/tools/validate/TsFileValidationTool.java | 15 +-
.../java/org/apache/iotdb/db/utils/MemUtils.java | 9 +-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 40 +-
.../db/metadata/idtable/entry/DeviceIDTest.java | 2 +-
.../schemaRegion/AbstractSchemaRegionTest.java | 22 +-
.../event/TsFileInsertionDataContainerTest.java | 7 +-
.../db/pipe/extractor/PipeRealtimeExtractTest.java | 4 +-
.../execution/operator/AlignedSeriesTestUtil.java | 13 +-
.../execution/operator/LinearFillOperatorTest.java | 88 +-
.../plan/planner/FragmentInstanceSerdeTest.java | 1 +
.../builder/EvaluationDAGBuilderTest.java | 2 +
.../db/storageengine/buffer/ChunkCacheTest.java | 5 +-
.../storageengine/dataregion/DataRegionTest.java | 4 +-
.../dataregion/LastFlushTimeMapTest.java | 31 +-
.../TsFileResourceProgressIndexTest.java | 11 +-
.../compaction/AbstractCompactionTest.java | 26 +-
.../compaction/CompactionDataTypeNotMatchTest.java | 212 +++
.../compaction/CompactionValidationTest.java | 33 +-
.../CrossSpaceCompactionWithUnusualCasesTest.java | 15 +-
.../compaction/FastAlignedCrossCompactionTest.java | 1267 ++++++++++++------
.../FastCompactionPerformerWithEmptyPageTest.java | 4 +-
...InconsistentCompressionTypeAndEncodingTest.java | 5 +-
.../FastCrossCompactionPerformerTest.java | 1152 +++++++++++------
.../FastInnerCompactionPerformerTest.java | 63 +-
.../FastNonAlignedCrossCompactionTest.java | 1267 ++++++++++++------
.../compaction/ReadChunkInnerCompactionTest.java | 55 +-
.../ReadPointAlignedCrossCompactionTest.java | 1267 ++++++++++++------
.../ReadPointCompactionPerformerTest.java | 1357 +++++++++++++-------
.../ReadPointNonAlignedCrossCompactionTest.java | 1267 ++++++++++++------
.../compaction/TestUtilsForAlignedSeries.java | 9 +-
.../TsFileValidationCorrectnessTests.java | 25 +-
...eCompactionWithFastPerformerValidationTest.java | 16 +-
...actionWithReadPointPerformerValidationTest.java | 11 +-
.../InsertionCrossSpaceCompactionRecoverTest.java | 22 +-
.../InsertionCrossSpaceCompactionSelectorTest.java | 156 +--
.../dataregion/compaction/cross/MergeTest.java | 12 +-
.../compaction/cross/MergeUpgradeTest.java | 5 +-
.../cross/RewriteCompactionFileSelectorTest.java | 17 +-
.../inner/AbstractInnerSpaceCompactionTest.java | 5 +-
.../inner/InnerCompactionMoreDataTest.java | 5 +-
.../compaction/inner/InnerCompactionTest.java | 5 +-
...nkCompactionPerformerWithAlignedSeriesTest.java | 2 +-
.../ReadChunkCompactionPerformerAlignedTest.java | 3 +-
.../SizeTieredCompactionSelectorTest.java | 5 +-
.../inner/sizetiered/SizeTieredCompactionTest.java | 5 +-
.../repair/RepairUnsortedFileCompactionTest.java | 3 +-
.../compaction/tools/UnseqSpaceStatisticsTest.java | 46 +-
.../compaction/utils/CompactionCheckerUtils.java | 14 +-
.../utils/CompactionFileGeneratorUtils.java | 29 +-
.../compaction/utils/CompactionTestFileWriter.java | 8 +-
.../utils/MultiTsFileDeviceIteratorTest.java | 144 ++-
.../dataregion/memtable/MemTableTestUtils.java | 6 +-
.../dataregion/memtable/TsFileProcessorTest.java | 11 +-
.../read/reader/common/FakedSeriesReader.java | 6 +
.../series/AbstractAlignedSeriesScanTest.java | 10 +-
.../read/reader/series/AbstractSeriesScanTest.java | 6 +-
.../AlignedSeriesScanLimitOffsetPushDownTest.java | 3 +-
.../AlignedSeriesScanPredicatePushDownTest.java | 3 +-
...gleColumnSeriesScanLimitOffsetPushDownTest.java | 3 +-
.../read/reader/series/SeriesReaderTestUtil.java | 5 +-
.../dataregion/snapshot/IoTDBSnapshotTest.java | 6 +-
.../dataregion/tsfile/TsFileResourceTest.java | 16 +-
.../wal/allocation/ElasticStrategyTest.java | 12 +
.../wal/allocation/FirstCreateStrategyTest.java | 12 +
.../wal/allocation/RoundRobinStrategyTest.java | 12 +
.../dataregion/wal/buffer/WALBufferCommonTest.java | 3 -
.../dataregion/wal/io/WALFileTest.java | 5 -
.../wal/node/ConsensusReqReaderTest.java | 2 -
.../dataregion/wal/node/WALEntryHandlerTest.java | 4 -
.../dataregion/wal/node/WALNodeTest.java | 23 +-
.../wal/node/WalDeleteOutdatedNewTest.java | 16 +-
.../wal/recover/WALRecoverManagerTest.java | 18 +-
.../file/SealedTsFileRecoverPerformerTest.java | 6 +-
.../wal/recover/file/TsFilePlanRedoerTest.java | 18 +-
.../file/UnsealedTsFileRecoverPerformerTest.java | 11 +-
.../wal/utils/WALInsertNodeCacheTest.java | 4 -
.../rescon/memory/ResourceManagerTest.java | 16 +-
.../org/apache/iotdb/db/tools/MLogParserTest.java | 8 +
.../TsFileOverlapValidationAndRepairToolTest.java | 97 +-
.../iotdb/db/tools/TsFileSelfCheckToolTest.java | 2 +-
.../iotdb/db/tools/TsFileSketchToolTest.java | 13 +-
.../db/utils/SchemaRegionSnapshotParserTest.java | 20 +-
.../iotdb/db/utils/TypeInferenceUtilsTest.java | 37 +-
iotdb-core/metrics/core/pom.xml | 4 +-
iotdb-core/metrics/interface/pom.xml | 12 +-
iotdb-core/metrics/pom.xml | 2 +-
iotdb-core/node-commons/pom.xml | 22 +-
.../resources/conf/iotdb-common.properties | 19 +-
.../assembly/resources/sbin/start-standalone.bat | 3 +
.../assembly/resources/sbin/start-standalone.sh | 2 +
.../commons/auth/authorizer/BasicAuthorizer.java | 4 +-
.../auth/authorizer/LocalFileAuthorizer.java | 2 +-
.../iotdb/commons/auth/entity/PathPrivilege.java | 41 +-
.../iotdb/commons/auth/entity/PrivilegeType.java | 11 +
.../org/apache/iotdb/commons/auth/entity/Role.java | 63 +-
.../commons/auth/role/LocalFileRoleAccessor.java | 2 +
.../iotdb/commons/auth/user/BasicUserManager.java | 8 +-
.../commons/auth/user/LocalFileUserAccessor.java | 8 +-
.../iotdb/commons/concurrent/ThreadName.java | 3 +
.../apache/iotdb/commons/conf/CommonConfig.java | 83 ++
.../iotdb/commons/conf/CommonDescriptor.java | 47 +
.../apache/iotdb/commons/conf/IoTDBConstant.java | 1 +
.../commons/consensus/index/ProgressIndexType.java | 8 +
.../index/impl/TimeWindowStateProgressIndex.java | 280 ++++
.../commons/exception/SubscriptionException.java} | 42 +-
.../apache/iotdb/commons/path/MeasurementPath.java | 7 +
.../org/apache/iotdb/commons/path/PartialPath.java | 10 +
.../commons/pipe/agent/plugin/PipePluginAgent.java | 88 +-
.../pipe/agent/plugin/PipePluginConstructor.java | 2 +-
.../config/constant/PipeConnectorConstant.java | 3 +
.../config/constant/PipeProcessorConstant.java | 20 +
.../env/PipeTaskProcessorRuntimeEnvironment.java | 12 +-
.../pipe/connector/client/IoTDBSyncClient.java | 2 +-
.../queue/ConcurrentIterableLinkedQueue.java | 18 +
.../iotdb/commons/pipe/event/EnrichedEvent.java | 14 +-
.../pipe/plugin/builtin/BuiltinPipePlugin.java | 18 +-
.../processor/aggregate/AggregateProcessor.java} | 37 +-
.../aggregate/StandardStatisticsProcessor.java} | 37 +-
.../aggregate/TumblingWindowingProcessor.java} | 37 +-
.../throwing/ThrowingExceptionProcessor.java | 99 ++
.../commons/pipe/receiver/IoTDBFileReceiver.java | 2 +-
.../commons/pipe/task/meta/PipeStaticMeta.java | 13 +
.../meta/PipeType.java} | 20 +-
.../apache/iotdb/commons/service/ServiceType.java | 2 +
.../iotdb/commons/service/StartupChecks.java | 43 +-
.../iotdb/commons/service/metric/enums/Metric.java | 1 +
.../subscription/config/SubscriptionConfig.java | 100 ++
.../meta/consumer/ConsumerGroupMeta.java | 291 +++++
.../meta/consumer/ConsumerGroupMetaKeeper.java | 165 +++
.../subscription/meta/consumer/ConsumerMeta.java | 138 ++
.../meta/subscription/SubscriptionMeta.java | 118 ++
.../commons/subscription/meta/topic/TopicMeta.java | 233 ++++
.../subscription/meta/topic/TopicMetaKeeper.java | 134 ++
.../commons/udf/builtin/String/UDTFConcat.java | 6 +-
.../iotdb/commons/udf/builtin/UDTFConst.java | 24 +-
.../iotdb/commons/udf/builtin/UDTFConstE.java | 8 +-
.../iotdb/commons/udf/builtin/UDTFConstPi.java | 8 +-
.../org/apache/iotdb/commons/utils/AuthUtils.java | 85 ++
.../iotdb/commons/utils/DataNodeKillPoints.java} | 19 +-
.../org/apache/iotdb/commons/utils/FileUtils.java | 10 +
.../commons/pipe/task/meta/PipeMetaDeSerTest.java | 20 +
.../consumer/ConsumerGroupDeSerTest.java | 72 ++
.../commons/subscription/topic/TopicDeSerTest.java | 57 +
iotdb-core/pom.xml | 2 +-
iotdb-core/tsfile/pom.xml | 2 +-
.../tsfile/encoding/encoder/DictionaryEncoder.java | 17 +-
.../iotdb/tsfile/file/IMetadataIndexEntry.java} | 23 +-
.../iotdb/tsfile/file/header/ChunkGroupHeader.java | 24 +-
.../tsfile/file/metadata/ChunkGroupMetadata.java | 6 +-
...dexEntry.java => DeviceMetadataIndexEntry.java} | 55 +-
.../iotdb/tsfile/file/metadata}/IDeviceID.java | 33 +-
...try.java => MeasurementMetadataIndexEntry.java} | 36 +-
.../file/metadata/MetadataIndexConstructor.java | 37 +-
.../tsfile/file/metadata/MetadataIndexNode.java | 51 +-
.../iotdb/tsfile/file/metadata}/PlainDeviceID.java | 47 +-
.../iotdb/tsfile/file/metadata/TsFileMetadata.java | 2 +-
.../iotdb/tsfile/read/TsFileDeviceIterator.java | 17 +-
.../org/apache/iotdb/tsfile/read/TsFileReader.java | 2 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 322 ++---
...leSequenceReaderTimeseriesMetadataIterator.java | 41 +-
.../apache/iotdb/tsfile/read/common/BatchData.java | 6 +
.../org/apache/iotdb/tsfile/read/common/Path.java | 16 +
.../iotdb/tsfile/read/common/block/TsBlock.java | 10 +
.../tsfile/read/common/block/TsBlockUtil.java | 6 +-
.../read/common/block/column/TimeColumn.java | 9 +-
.../read/controller/MetadataQuerierByFileImpl.java | 25 +-
.../iotdb/tsfile/read/reader/IPointReader.java | 2 +
.../page/LazyLoadAlignedPagePointReader.java | 14 +-
.../iotdb/tsfile/utils/ReadWriteIOUtils.java | 48 +-
.../apache/iotdb/tsfile/write/TsFileWriter.java | 46 +-
.../write/chunk/AlignedChunkGroupWriterImpl.java | 8 +-
.../chunk/NonAlignedChunkGroupWriterImpl.java | 8 +-
.../apache/iotdb/tsfile/write/record/TSRecord.java | 7 +
.../apache/iotdb/tsfile/write/record/Tablet.java | 70 +-
.../write/writer/ForceAppendTsFileWriter.java | 5 +-
.../write/writer/RestorableTsFileIOWriter.java | 10 +-
.../iotdb/tsfile/write/writer/TsFileIOWriter.java | 31 +-
.../write/writer/TsFileIOWriterEndFileTest.java | 3 +-
.../write/writer/tsmiterator/TSMIterator.java | 19 +-
.../file/metadata/MetadataIndexNodeTest.java | 13 +-
.../tsfile/file/metadata/utils/TestHelper.java | 4 +-
.../iotdb/tsfile/read/GetAllDevicesTest.java | 8 +-
...easurementChunkMetadataListMapIteratorTest.java | 18 +-
.../tsfile/read/TimeSeriesMetadataReadTest.java | 4 +-
.../apache/iotdb/tsfile/read/TsFileReaderTest.java | 15 +-
.../tsfile/read/TsFileSequenceReaderTest.java | 9 +-
.../tsfile/write/MetadataIndexConstructorTest.java | 75 +-
.../iotdb/tsfile/write/TsFileIOWriterTest.java | 15 +-
.../tsfile/write/TsFileIntegrityCheckingTool.java | 10 +-
.../iotdb/tsfile/write/TsFileWriteApiTest.java | 7 +-
.../write/writer/RestorableTsFileIOWriterTest.java | 3 +-
.../writer/TsFileIOWriterMemoryControlTest.java | 96 +-
iotdb-protocol/openapi/pom.xml | 2 +-
iotdb-protocol/pom.xml | 2 +-
iotdb-protocol/thrift-commons/pom.xml | 2 +-
.../thrift-commons/src/main/thrift/common.thrift | 10 +-
iotdb-protocol/thrift-confignode/pom.xml | 4 +-
.../src/main/thrift/confignode.thrift | 163 ++-
iotdb-protocol/thrift-consensus/pom.xml | 4 +-
iotdb-protocol/thrift-datanode/pom.xml | 4 +-
.../thrift-datanode/src/main/thrift/client.thrift | 2 +-
.../src/main/thrift/datanode.thrift | 116 +-
library-udf/pom.xml | 6 +-
.../library/frequency/UDFEnvelopeAnalysis.java | 6 +-
pom.xml | 14 +-
705 files changed, 30968 insertions(+), 7110 deletions(-)
create mode 100644
example/session/src/main/java/org/apache/iotdb/SubscriptionSessionExample.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/confignode/it/IoTDBRegionMigrateReliabilityIT.java
rename
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/{IoTDBClusterRegionLeaderBalancingIT.java
=> IoTDBRegionGroupLeaderDistributionIT.java} (74%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT2.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/PipeTaskOperation.java
=>
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/AbstractPipeSingleIT.java
(60%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipeAggregateIT.java
rename integration-test/src/test/java/org/apache/iotdb/pipe/it/{ =>
single}/IoTDBPipeSingleEnvDemoIT.java (81%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionBasicIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionConsumerGroupIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionTopicIT.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/RegionTransitionState.java
=>
iotdb-api/common-api/src/main/java/org/apache/iotdb/tsfile/utils/Accountable.java
(75%)
create mode 100644
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/config/ConsumerConfig.java
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/plugin/env/PipeTaskProcessorRuntimeEnvironment.java
=>
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/config/ConsumerConstant.java
(72%)
create mode 100644
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/config/TopicConfig.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/PipeTaskOperation.java
=>
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/config/TopicConstant.java
(57%)
delete mode 100644
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/ConsumerConfig.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/rpc/subscription/ConsumerGroupPushMetaRPCHandler.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/rpc/subscription/TopicPushMetaRPCHandler.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/{write/pipe/runtime/PipeHandleMetaChangePlan.java
=> read/subscription/ShowSubscriptionPlan.java} (58%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/{write/pipe/runtime/PipeHandleMetaChangePlan.java
=> read/subscription/ShowTopicPlan.java} (58%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/{UpdateRegionLocationPlan.java
=> AddRegionLocationPlan.java} (62%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/{UpdateRegionLocationPlan.java
=> RemoveRegionLocationPlan.java} (63%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/pipe/task/OperateMultiplePipesPlanV2.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{procedure/UpdateProcedurePlan.java
=> subscription/consumer/AlterConsumerGroupPlan.java} (55%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/subscription/consumer/runtime/ConsumerGroupHandleMetaChangePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/subscription/topic/AlterMultipleTopicsPlan.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{procedure/UpdateProcedurePlan.java
=> subscription/topic/AlterTopicPlan.java} (59%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{procedure/UpdateProcedurePlan.java
=> subscription/topic/CreateTopicPlan.java} (59%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{procedure/UpdateProcedurePlan.java
=> subscription/topic/DropTopicPlan.java} (59%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{procedure/UpdateProcedurePlan.java
=> subscription/topic/runtime/TopicHandleMetaChangePlan.java} (53%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/subscription/SubscriptionTableResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/subscription/TopicTableResp.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/subscription/SubscriptionCoordinator.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/{procedure/impl/pipe/PipeTaskOperation.java
=> manager/subscription/SubscriptionManager.java} (58%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/subscription/SubscriptionMetaSyncer.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/CNPhysicalPlanGenerator.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/{procedure/state/RegionTransitionState.java
=> persistence/schema/CNSnapshotFileType.java} (75%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ConfignodeSnapshotParser.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/subscription/SubscriptionInfo.java
rename
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/{DataNodeRemoveHandler.java
=> RegionMaintainHandler.java} (82%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/AddRegionPeerProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RemoveRegionPeerProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/AbstractOperateSubscriptionProcedure.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{pipe/PipeTaskOperation.java
=> subscription/SubscriptionOperation.java} (63%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/AlterConsumerGroupProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/CreateConsumerProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/DropConsumerProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/runtime/ConsumerGroupMetaSyncProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/subscription/AbstractOperateSubscriptionAndPipeProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/subscription/CreateSubscriptionProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/subscription/DropSubscriptionProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/AlterTopicProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/CreateTopicProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/DropTopicProcedure.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/runtime/TopicMetaSyncProcedure.java
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/{RegionTransitionState.java
=> AddRegionPeerState.java} (82%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/{RegionTransitionState.java
=> RemoveRegionPeerState.java} (84%)
copy
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/{RegionTransitionState.java
=> subscription/OperateSubscriptionState.java} (75%)
copy
iotdb-core/{tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java
=>
confignode/src/test/java/org/apache/iotdb/confignode/consensus/request/TestOnlyPlan.java}
(64%)
rename
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/leader/{MinCostFlowLeaderBalancerTest.java
=> CFDLeaderBalancerTest.java} (96%)
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/CNPhysicalPlanGeneratorTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/ProcedureInfoTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/UpgradeFromWALToConsensusLayerTest.java
copy
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/region/{RegionMigrateProcedureTest.java
=> AddRegionPeerProcedureTest.java} (87%)
copy
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/region/{RegionMigrateProcedureTest.java
=> RemoveRegionPeerProcedureTest.java} (87%)
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/CreateConsumerProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/DropConsumerProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/runtime/ConsumerGroupMetaSyncProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/subscription/CreateSubscriptionProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/subscription/DropSubscriptionProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/AlterTopicProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/CreateTopicProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/DropTopicProcedureTest.java
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/subscription/topic/runtime/TopicMetaSyncProcedureTest.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/row/PipeResetTabletRow.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/AbstractFormalProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/AggregateProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/TimeSeriesRuntimeState.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/AggregatedResultOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/AverageOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/ClearanceFactorOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/CrestFactorOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/FormFactorOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/KurtosisOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/PeakOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/PulseFactorOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/RootMeanSquareOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/SkewnessOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/aggregatedresult/standardstatistics/VarianceOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/CustomizedReadableIntermediateResults.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/IntermediateResultOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/sametype/numeric/AbsoluteMaxOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/sametype/numeric/AbstractSameTypeNumericOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/sametype/numeric/IntegralPoweredSumOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/specifictype/doubletype/FractionPoweredSumOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/intermediateresult/specifictype/integertype/CountOperator.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/processor/AbstractOperatorProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/operator/processor/StandardStatisticsOperatorProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/datastructure/TimeSeriesWindow.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/datastructure/WindowOutput.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/datastructure/WindowState.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/AbstractSimpleTimeWindowingProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/AbstractWindowingProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/TumblingWindowingProcessor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/subscription/CreateTopicTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/subscription/DropTopicTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/subscription/ShowSubscriptionTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/subscription/ShowTopicsTask.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/CreateTopicStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/DropTopicStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowSubscriptionsStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowTopicsStatement.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionAgentLauncher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionBrokerAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionConsumerAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionReceiverAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionRuntimeAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/agent/SubscriptionTopicAgent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/EnrichedTabletsBinaryCache.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SerializedEnrichedEvent.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SubscriptionBroker.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SubscriptionPrefetchingQueue.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{pipe/execution/executor/PipeConnectorSubtaskExecutor.java
=> subscription/execution/executor/SubscriptionSubtaskExecutor.java} (65%)
copy
iotdb-core/{tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java
=>
datanode/src/main/java/org/apache/iotdb/db/subscription/receiver/SubscriptionReceiver.java}
(66%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/receiver/SubscriptionReceiverV1.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{pipe/task/stage/PipeTaskConnectorStage.java
=> subscription/task/stage/SubscriptionTaskConnectorStage.java} (63%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/task/subtask/SubscriptionConnectorSubtask.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{pipe/task/subtask/connector/PipeConnectorSubtaskLifeCycle.java
=> subscription/task/subtask/SubscriptionConnectorSubtaskLifeCycle.java} (65%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/task/subtask/SubscriptionConnectorSubtaskManager.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/CompactionDataTypeNotMatchTest.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/consensus/index/impl/TimeWindowStateProgressIndex.java
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/PipeTaskOperation.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/exception/SubscriptionException.java}
(53%)
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/IProcedureStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/processor/aggregate/AggregateProcessor.java}
(59%)
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/IProcedureStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/processor/aggregate/StandardStatisticsProcessor.java}
(58%)
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/IProcedureStore.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/processor/aggregate/TumblingWindowingProcessor.java}
(58%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/processor/throwing/ThrowingExceptionProcessor.java
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/{config/plugin/env/PipeTaskProcessorRuntimeEnvironment.java
=> task/meta/PipeType.java} (68%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/config/SubscriptionConfig.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/consumer/ConsumerGroupMeta.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/consumer/ConsumerGroupMetaKeeper.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/consumer/ConsumerMeta.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/subscription/SubscriptionMeta.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/topic/TopicMeta.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/topic/TopicMetaKeeper.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/IDeviceID.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/utils/DataNodeKillPoints.java}
(73%)
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/subscription/consumer/ConsumerGroupDeSerTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/subscription/topic/TopicDeSerTest.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/IDeviceID.java
=> tsfile/src/main/java/org/apache/iotdb/tsfile/file/IMetadataIndexEntry.java}
(72%)
copy
iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/{MetadataIndexEntry.java
=> DeviceMetadataIndexEntry.java} (58%)
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable
=> tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata}/IDeviceID.java
(52%)
rename
iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/{MetadataIndexEntry.java
=> MeasurementMetadataIndexEntry.java} (73%)
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable
=>
tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata}/PlainDeviceID.java
(60%)