This is an automated email from the ASF dual-hosted git repository.
Caideyipi pushed a change to branch time-partition-boundary-overflow-fix
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from c139612d6e2 Merge origin/master into
time-partition-boundary-overflow-fix
add fcaa2f82267 Pipe: Reuse clusters across related integration tests
(#18400)
add c4616685b1a Fix SHOW QUERIES and KILL QUERY privilege filtering
(#18359)
add e281a308851 Reduce AirGap receiver log noise (#18424)
add d1f362d3ca3 Pipe: Handle transient resource failures locally (#18381)
add bc5b6a2d162 Fix subscription topic authorization bypass (#18418)
add 85442f00f85 [Load] Isolate reused TsFile parser memory from Pipe pool
(#18419)
add 10950e13ea9 Pipe: dynamically share idle floating memory (#18422)
add 50a2e83eb65 fix: validate internal tsfile paths for files only (#18417)
add 5d163835737 Support high availability for the authority module (#18425)
add 4b237744707 modify the deal strategy for metadata lease exception in
DataDriver and ErrorHandlingUtils (#18438)
add ab881319f22 Fix fragment failure race with concurrent cancellation
(#18439)
add 02f43e73f47 Upgrade Eclipse Milo to 1.1.6 (#18431)
add 3c0c7fef006 [Pipe] Fix processor worker starvation on pipe stop
(#18396)
add 17e3b4e9460 clone partial columns of aligned tvlist for query (#18409)
add ef0a792a3aa fix(pipe): reuse safe local progress on alter (#18423)
add 6ca8850a25b [Pipe] Support configurable TsFile parser (#18440)
add 2479dc63531 Subscription: clean up consumers after abrupt disconnect
(#18434)
add e1030c5e00e fix: reuse pre-computed ArrayList instance size in
AlignedTVList ram cost (#18452)
add e509114c515 fix: retry SyncStatus batch memory reservation (#18453)
add 0ea96b543ea Bump ratis to 3.3.0 (#18320)
add 96c905e8146 [SQL] Add STREAM and STREAMS as reserved keywords (#18458)
add 27e9920399b feat: cache sorted WAL file lists (#18456)
add ab7a911fdb2 [Subscription] Fix pending consensus request memory leak
(#18429)
add 8b0abccd89a [Subscription] Exclude audit database from subscriptions
(#18451)
add a110cc024f9 fix flush average points num may be mixed in one region
(#18460)
add 9b2784c3ad4 Fix data exchange failure propagation (#18468)
add cec4f9b111b Fix audit database filtering for consensus pipes (#18476)
add dc2e7c861b6 [Pipe] Optimize OPC UA TsFile last-value transfer (#18433)
add 5db9f416143 fix(subscription): avoid per-provider poll backoff (#18448)
add 4eff4c1654c [Pipe] Support receiver-side async takeover for TsFile
conversion (#18421)
add dc47a3baa0a Stabilize air-gap batch compression IT
add ada62cb1048 [Pipe] Fix conversion task ID collision after leader
switch (#18494)
add 5221cf49ed0 fix: make CompactionWorkerTest UT deterministic by using
CountDownLatch instead of fixed 2s sleep to wait for task drop status reset
(#18498)
add c63d0e82efc [DOC] Clarify internal RPC trust boundary in threat model
(#18504)
add c8e73f30ac3 Add the setting for JAVA_HOME in the start-cli.bat file
(#18503)
add 541b9a32d8e Fix unsolicited AirGap responses on idle timeout (#18502)
add 41c0e2d4ee8 [Subscription] Isolate tree and table consensus topics
(#18469)
add e591e66c0f5 Fix IoTConsensus batch accumulation and config reload
(#18501)
add fdce12d7972 Fix subscription event loss on poll payload overflow
(#18471)
add a4e56ce5c2f [Subscription] Fix WAL replay after leader failover
(#18474)
add 0a9fda0a4c3 [Subscription] Reduce consensus commit warning log noise
(#18450)
add c0c1d562aa0 [Pipe] Reject operations while pipe is being dropped
(#18485)
add 429587f629a Load: preserve pending tablets when parser fails (#18487)
add 91a44fd8c00 [Pipe] Split OPC UA sink requests by advertised server
limits (#18486)
add 20ce15e04a5 Fix fail-open authorization for pipe config plans (#18488)
add 6be80261199 Supported "need last cache" semantic for table/database
schema (#15538)
add 83f6303c253 Add TLS channel failure reporting hooks (#18299)
add ae163537785 [Subscription] Protect retained WAL by committed progress
(#18399)
add 593c3bc5c33 [Subscription] Skip runtime when subscription is disabled
(#18465)
add 2686348c031 Avoid duplicate DataNode memory configuration
initialization (#18467)
add 9ebbaaa458d Fix snapshot pipe auto-drop when some DataNodes fail to
initialize (#18512)
add c520debda0b Subscription: improve WAL replay gap observability (#18377)
add 930e9bc0cf7 Fix DataNode status handling for Pipe receiver disk
failures (#18484)
add 206f1fc4c29 Move PipelineMemoryEstimator to calc-commons (#18520)
add 079d2ee66de Fix snapshot pipe completion wait on unmatched DataRegions
and add IT (#18523)
add 89d4fbbcd9c Add consensus subscription progress observability (#18521)
add ce3ef055652 Fix schema recovery for single device attribute match
(#18490)
add 0280aa7b51a Implement FFT table function for table model
add 7c656815b46 fix: fix `RPCTransportFactory` setting bug (#18497)
add a8950536244 [Subscription] Disable subscription by default (#18457)
add a10bc6ba7e7 Revert "Fix IoTConsensus batch accumulation and config
reload (#18501)" (#18535)
add 6aec4b872a1 Fix IoTConsensus reconstruction IT follower
synchronization (#18536)
add 621f9868a62 [DOC] Point the contributing documents section to
apache/iotdb-docs (#18542)
add c30554f743c Fix fragment failure propagation race (#18543)
add 011616824b9 Pipe: Fix TsFile reference races and improve result set
diffs (#18376)
add 5ce27404e87 Filter all-null FIELD columns before tablet insert in
Java/C++/Python… (#18533)
add b9683c0c106 fix(load): validate TsFile before async move (#18531)
add 76ee6f08165 Fix finite pipe auto-drop without DataRegions (#18540)
add 1106d858f10 Add IoTDB Edge distribution: ConfigNode + DataNode merged
in one JVM (#18538)
add ebd9c2072e3 Fix IoTConsensus batch accumulation latency (#18522)
add 60833764d31 Fix pipe historical extraction when device metadata is
unavailable (#18541)
add a9f1d5258e1 Fix pipe sink isolation between pipes (#18549)
add b3b2e95f52e Fix LOAD replica set order comparison (#18551)
add 8c50293d308 Add daemon and cleanup tools for IoTDB Edge (#18552)
add 7a38e7e225f Add DataNodeExceptionMetrics with suspected disk exception
counter (#18554)
add e096f6316e6 Fix flaky PARTIAL/FINAL plan assertion in
rateFunctionsNormalTest (#18556)
add a185d9c7e94 Extend the monitoring framework to support multiple node
types (#18470)
add 8df29019a69 Bump Netty to 4.1.137.Final, Reactor Netty to 1.2.18, and
Thrift to 0.24.0 (#18559)
add 05a97b91102 Tune Edge compaction and TsFile defaults (#18566)
add 6b0354f4f15 Suppress pull commit progress log when subscription is
disabled (#18564)
add 18ec5f0a393 [Pipe] Preserve downstream sink error messages (#18553)
add d21169f10fb Update pipe config for edge version (#18568)
add 829837237aa Bump C++ client bundled Thrift from 0.23.0 to 0.24.0
(#18567)
add 6a236ff51d6 Implementation of LowPass, HighPass, and XCorr Table
Functions (#18539)
add d1302398148 Extend suspicious disk exception recording to
SyncFailedException and disk-error IOExceptions (#18572)
add d6b3afbb2b6 Add audit hooks for inter-node user data transfers (#18569)
add 87e65643e36 Merge branch 'master' of https://github.com/apache/iotdb
into time-partition-boundary-overflow-fix
No new revisions were added by this update.
Summary of changes:
.github/scripts/test-edge-ops.py | 466 ++++++++++++
.github/scripts/test-edge-windows.ps1 | 222 ++++++
.github/workflows/daily-it.yml | 359 ---------
.../{dependency-check.yml => edge-it.yml} | 62 +-
.github/workflows/pipe-it.yml | 350 ---------
CLAUDE.md | 13 +
CONTRIBUTING.md | 22 +-
LICENSE-binary | 24 +-
README.md | 12 +
README_ZH.md | 13 +
THREAT_MODEL.md | 41 +-
dependencies.json | 17 +-
distribution/pom.xml | 2 +
distribution/src/assembly/all.xml | 8 +
distribution/src/assembly/confignode.xml | 3 +
distribution/src/assembly/datanode.xml | 4 +
distribution/src/assembly/{all.xml => edge.xml} | 67 +-
.../assembly/resources/conf-edge/logback-edge.xml | 58 +-
example/pipe-opc-ua-sink/pom.xml | 4 +-
.../java/org/apache/iotdb/opcua/ClientExample.java | 4 +-
.../apache/iotdb/opcua/ClientExampleRunner.java | 41 +-
.../java/org/apache/iotdb/opcua/ClientTest.java | 54 +-
external-service-impl/rest/pom.xml | 4 +
.../java/org/apache/iotdb/rest/RestService.java | 4 +
.../rest/TrustedChannelAuditHandshakeListener.java | 75 ++
.../TrustedChannelAuditHandshakeListenerTest.java | 96 +++
integration-test/pom.xml | 20 +
integration-test/src/assembly/mpp-test.xml | 3 +
.../it/env/cluster/config/MppCommonConfig.java | 6 -
.../env/cluster/config/MppSharedCommonConfig.java | 7 -
.../it/env/remote/config/RemoteCommonConfig.java | 5 -
.../itbase/category/{DailyIT.java => EdgeIT.java} | 3 +-
.../org/apache/iotdb/itbase/env/CommonConfig.java | 2 -
.../commit/IoTDBRegionReconstructForIoTV1IT.java | 108 ++-
.../apache/iotdb/db/it/IoTDBLoadTsFileAuthIT.java | 29 +
.../org/apache/iotdb/db/it/IoTDBShowQueriesIT.java | 155 ++++
.../org/apache/iotdb/db/it/utils/TestUtils.java | 54 +-
.../org/apache/iotdb/edge/it/IoTDBEdgeBasicIT.java | 415 +++++++++++
.../treemodel/auto/basic/IoTDBPipeAlterIT.java | 48 ++
.../auto/basic/IoTDBPipeTwoStageAggregateIT.java | 146 ----
.../auto/enhanced/IoTDBPipeAutoDropIT.java | 188 +++++
.../auto/enhanced/IoTDBPipeSinkCompressionIT.java | 4 +-
.../manual/IoTDBPipeManualConflictIT.java | 70 +-
.../treemodel/manual/IoTDBPipePermissionIT.java | 147 +++-
.../IoTDBLegacyPipeReceiverAutoCreateIT.java | 159 ----
.../iotdb/pipe/it/single/IoTDBPipeOPCUAIT.java | 33 +-
.../it/single/IoTDBPipeOperationDiagnosticsIT.java | 395 ++++++++++
.../pipe/it/single/IoTDBPipePermissionIT.java | 66 ++
...verSecurityIT.java => IoTDBPipeReceiverIT.java} | 268 ++++++-
.../pipe/it/single/IoTDBPipeReceiverSessionIT.java | 281 -------
.../it/db/it/IoTDBFFTTableFunctionIT.java | 293 ++++++++
.../relational/it/db/it/IoTDBWindowTVFIT.java | 273 +++++++
.../it/query/recent/IoTDBTableAggregationIT.java | 20 +
.../relational/it/schema/IoTDBDatabaseIT.java | 130 +++-
.../relational/it/schema/IoTDBTableAuthHAIT.java | 670 +++++++++++++++++
.../iotdb/relational/it/schema/IoTDBTableIT.java | 125 +++-
.../iotdb/session/it/IoTDBSessionSimpleIT.java | 5 +-
.../IoTDBSubscriptionTopicOwnerPartitionIT.java | 1 -
...ConsensusSubscriptionColumnFilterClusterIT.java | 1 -
...ensusSubscriptionConsumerDisconnectTableIT.java | 298 ++++++++
.../it/local/AbstractSubscriptionLocalIT.java | 2 -
.../it/local/IoTDBSubscriptionTopicOwnerIT.java | 1 -
iotdb-client/client-cpp/CMakeLists.txt | 4 +-
iotdb-client/client-cpp/README.md | 16 +-
iotdb-client/client-cpp/README_zh.md | 4 +-
.../client-cpp/cmake/FetchBuildTools.cmake | 2 +-
iotdb-client/client-cpp/cmake/FetchOpenSSL.cmake | 2 +-
iotdb-client/client-cpp/examples/CMakeLists.txt | 2 +-
iotdb-client/client-cpp/examples/README.md | 6 +-
iotdb-client/client-cpp/examples/README_zh.md | 6 +-
.../package-metadata/third_party/DEPENDENCIES.md | 2 +-
iotdb-client/client-cpp/src/include/Common.h | 1 +
iotdb-client/client-cpp/src/include/Session.h | 50 +-
iotdb-client/client-cpp/src/rpc/SessionImpl.h | 4 +-
iotdb-client/client-cpp/src/session/Common.cpp | 38 +-
iotdb-client/client-cpp/src/session/Session.cpp | 181 ++++-
iotdb-client/client-cpp/test/CMakeLists.txt | 7 +-
.../client-cpp/test/cpp/sessionUtilsTest.cpp | 145 ++++
.../test/main_utils.cpp} | 10 +-
iotdb-client/client-cpp/third-party/README.md | 6 +-
iotdb-client/client-py/iotdb/Session.py | 102 ++-
iotdb-client/client-py/iotdb/utils/BitMap.py | 39 +
iotdb-client/client-py/iotdb/utils/SessionUtils.py | 128 ++++
iotdb-client/client-py/iotdb/utils/Tablet.py | 6 +
.../client-py/tests/unit/test_session_utils.py | 160 ++++
iotdb-client/jdbc/src/main/feature/feature.xml | 2 +-
.../org/apache/iotdb/jdbc/IoTDBConnection.java | 10 +-
.../iotdb/rpc/DeepCopyRpcTransportFactory.java | 25 +-
.../iotdb/rpc/DeepCopyRpcTransportFactoryTest.java | 62 ++
.../java/org/apache/iotdb/session/Session.java | 114 ++-
.../apache/iotdb/session/SessionConnection.java | 9 +-
.../org/apache/iotdb/session/ThriftConnection.java | 8 +-
.../apache/iotdb/session/util/SessionUtils.java | 86 +++
.../iotdb/session/util/SessionUtilsTest.java | 83 +++
.../base/AbstractSubscriptionConsumer.java | 24 +-
.../base/AbstractSubscriptionProviders.java | 8 +
.../SubscriptionConsumerMultiProviderPollTest.java | 281 +++++++
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 1 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 3 +-
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 4 +
.../planner/memory/MemoryReservationManager.java | 6 +
.../planner/memory/PipelineMemoryEstimator.java | 4 +-
.../rate/GroupedRateAccumulatorMemoryTest.java | 5 +
.../rate/RateAccumulatorFactoryTest.java | 3 +
.../RateFunctionIntermediateStateCodecTest.java | 5 +
.../iotdb/confignode/i18n/ConfigNodeMessages.java | 15 +
.../iotdb/confignode/i18n/ProcedureMessages.java | 9 +-
.../iotdb/confignode/i18n/ConfigNodeMessages.java | 15 +
.../iotdb/confignode/i18n/ProcedureMessages.java | 7 +-
.../client/async/CnToDnAsyncRequestType.java | 3 +
.../CnToDnInternalServiceAsyncRequestManager.java | 6 +
.../heartbeat/DataNodeHeartbeatHandler.java | 4 +-
.../subscription/PullCommitProgressRPCHandler.java | 3 +-
.../response/pipe/task/PipeTableResp.java | 1 +
.../iotdb/confignode/manager/ConfigManager.java | 115 ++-
.../pipe/agent/task/PipeConfigNodeSubtask.java | 8 +
.../pipe/agent/task/PipeConfigNodeTaskAgent.java | 5 +
.../runtime/PipeRuntimeCoordinator.java | 10 +-
.../runtime/heartbeat/PipeHeartbeat.java | 75 +-
.../runtime/heartbeat/PipeHeartbeatParser.java | 186 +++--
.../runtime/heartbeat/PipeHeartbeatScheduler.java | 7 +-
.../pipe/coordinator/task/PipeTaskCoordinator.java | 24 +
.../receiver/protocol/IoTDBConfigNodeReceiver.java | 21 +-
.../manager/schema/ClusterSchemaManager.java | 76 +-
.../confignode/persistence/pipe/PipeTaskInfo.java | 15 +-
.../persistence/schema/ClusterSchemaInfo.java | 20 +
.../confignode/persistence/schema/ConfigMTree.java | 5 +
.../persistence/subscription/SubscriptionInfo.java | 79 ++
.../procedure/env/ConfigNodeProcedureEnv.java | 33 +
.../impl/pipe/AbstractOperatePipeProcedureV2.java | 5 +-
.../impl/pipe/task/AlterPipeProcedureV2.java | 96 ++-
.../impl/schema/table/CreateTableProcedure.java | 4 +
.../table/view/CreateTableViewProcedure.java | 9 +
.../impl/sync/AuthOperationProcedure.java | 86 ++-
.../iotdb/confignode/service/ConfigNode.java | 2 +-
.../service/thrift/ConfigNodeRPCService.java | 8 +-
.../main/java/org/apache/iotdb/edge/EdgeNode.java | 122 ++++
.../consensus/response/pipe/PipeTableRespTest.java | 19 +
.../manager/ClusterSchemaManagerTest.java | 15 +
.../runtime/heartbeat/PipeHeartbeatParserTest.java | 297 +++++++-
.../SubscriptionInfoTopicValidationTest.java | 100 +++
.../iotdb/consensus/i18n/IoTConsensusMessages.java | 3 +
.../iotdb/consensus/i18n/IoTConsensusMessages.java | 3 +
.../common/request/IndexedConsensusRequest.java | 54 +-
.../iotdb/consensus/config/ConsensusConfig.java | 60 +-
.../config/UserDataTransferAuditClassifier.java} | 49 +-
.../apache/iotdb/consensus/iot/IoTConsensus.java | 23 +-
.../consensus/iot/IoTConsensusServerImpl.java | 152 +++-
.../consensus/iot/client/DispatchLogHandler.java | 131 +++-
.../iotdb/consensus/iot/logdispatcher/Batch.java | 10 +
.../logdispatcher/IoTConsensusMemoryManager.java | 76 +-
.../consensus/iot/logdispatcher/LogDispatcher.java | 72 +-
.../consensus/iot/logdispatcher/SyncStatus.java | 20 +-
.../iot/service/IoTConsensusRPCService.java | 16 +-
.../subscription/SubscriptionQueueRegistry.java | 65 +-
.../SubscriptionWalRetentionCalculator.java | 12 +-
.../iotdb/consensus/pipe/IoTConsensusV2.java | 4 +-
.../pipe/service/IoTConsensusV2RPCService.java | 16 +-
.../consensus/iot/IoTConsensusServerImplTest.java | 36 +
.../iot/client/DispatchLogHandlerTest.java | 173 +++++
.../IoTConsensusMemoryManagerTest.java | 100 +++
.../iot/logdispatcher/LogDispatcherTest.java | 288 ++++++++
.../iot/logdispatcher/SyncStatusTest.java | 64 ++
.../SubscriptionQueueRegistryTest.java | 108 +++
.../SubscriptionWalRetentionCalculatorTest.java | 74 ++
iotdb-core/datanode/pom.xml | 14 +-
iotdb-core/datanode/src/assembly/server.xml | 1 +
.../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 27 +-
.../apache/iotdb/db/i18n/DataNodePipeMessages.java | 39 +-
.../iotdb/db/i18n/DataNodeQueryMessages.java | 4 +
.../iotdb/db/i18n/StorageEngineMessages.java | 4 +
.../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 26 +-
.../apache/iotdb/db/i18n/DataNodePipeMessages.java | 35 +-
.../iotdb/db/i18n/DataNodeQueryMessages.java | 4 +
.../iotdb/db/i18n/StorageEngineMessages.java | 4 +
.../db/audit/DataNodeUserDataTransferAuditor.java | 135 ++++
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 1 +
.../apache/iotdb/db/auth/BasicAuthorityCache.java | 9 -
.../iotdb/db/auth/ClusterAuthorityFetcher.java | 68 +-
.../apache/iotdb/db/auth/IAuthorityFetcher.java | 2 -
.../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 5 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 11 +
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 16 +-
.../db/consensus/DataRegionConsensusImpl.java | 27 +
.../agent/runtime/PipeDataNodeRuntimeAgent.java | 17 +-
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 224 ++++--
.../agent/task/builder/PipeDataNodeBuilder.java | 2 +-
.../agent/task/connection/PipeEventCollector.java | 17 +-
.../pipe/agent/task/stage/PipeTaskSinkStage.java | 7 +-
.../subtask/processor/PipeProcessorSubtask.java | 97 ++-
.../PipeProcessorSubtaskExecutionGuard.java | 110 +++
.../processor/PipeProcessorSubtaskWorker.java | 129 +++-
.../PipeProcessorSubtaskWorkerManager.java | 15 +-
.../PipeProcessorSubtaskYieldException.java | 53 ++
.../agent/task/subtask/sink/PipeSinkSubtask.java | 54 ++
.../task/subtask/sink/PipeSinkSubtaskManager.java | 219 ++++--
.../tsfile/PipeCompactedTsFileInsertionEvent.java | 1 +
.../common/tsfile/PipeTsFileInsertionEvent.java | 164 ++++-
.../tsfile/parser/TsFileInsertionEventParser.java | 44 +-
.../TsFileInsertionEventParserMemoryBlock.java} | 21 +-
.../TsFileInsertionEventParserMemoryManager.java | 75 ++
.../parser/TsFileInsertionEventParserProvider.java | 62 ++
.../query/TsFileInsertionEventQueryParser.java | 69 +-
...ileInsertionEventQueryParserTabletIterator.java | 10 +-
.../scan/TsFileInsertionEventScanParser.java | 301 +++++---
.../table/TsFileInsertionEventTableParser.java | 112 ++-
...ileInsertionEventTableParserTabletIterator.java | 150 ++--
.../tsfile/parser/util/ModsOperationUtil.java | 17 +-
.../metric/schema/PipeSchemaRegionSinkMetrics.java | 69 +-
.../metric/sink/PipeDataRegionSinkMetrics.java | 271 +++----
.../protocol/airgap/IoTDBAirGapReceiver.java | 54 +-
.../iotconsensusv2/IoTConsensusV2Receiver.java | 3 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 150 +++-
.../db/pipe/resource/memory/PipeMemoryManager.java | 38 +-
.../resource/tsfile/PipeTsFileResourceManager.java | 57 +-
.../request/PipeTransferTsFileSealWithModReq.java | 191 +++++
.../protocol/airgap/IoTDBDataRegionAirGapSink.java | 37 +-
.../iotconsensusv2/IoTConsensusV2AsyncSink.java | 46 +-
.../iotconsensusv2/IoTConsensusV2SyncSink.java | 87 ++-
.../IoTConsensusV2TabletBatchEventHandler.java | 8 +
.../IoTConsensusV2TabletInsertionEventHandler.java | 11 +
.../IoTConsensusV2TsFileInsertionEventHandler.java | 16 +
.../db/pipe/sink/protocol/opcua/OpcUaSink.java | 171 ++++-
.../sink/protocol/opcua/client/ClientRunner.java | 46 +-
.../protocol/opcua/client/IoTDBOpcUaClient.java | 172 ++++-
.../sink/protocol/opcua/server/OpcUaNameSpace.java | 99 ++-
.../protocol/opcua/server/OpcUaServerBuilder.java | 246 +++----
.../thrift/async/IoTDBDataRegionAsyncSink.java | 137 +++-
.../async/handler/PipeTransferTsFileHandler.java | 55 +-
.../thrift/sync/IoTDBDataRegionSyncSink.java | 45 +-
.../dataregion/DataRegionListeningFilter.java | 18 +-
.../source/dataregion/IoTDBDataRegionSource.java | 17 +
...istoricalDataRegionTsFileAndDeletionSource.java | 8 +-
.../realtime/PipeRealtimeDataRegionSource.java | 9 +
.../realtime/assigner/PipeDataRegionAssigner.java | 1 +
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 6 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 78 +-
.../thrift/impl/PushMultiPipeMetaHelper.java | 36 +-
.../common/header/DatasetHeaderFactory.java | 4 +
.../queryengine/execution/driver/DataDriver.java | 20 +-
.../execution/exchange/MPPDataExchangeManager.java | 54 +-
.../execution/exchange/MPPDataExchangeService.java | 7 +-
.../execution/exchange/sink/ShuffleSinkHandle.java | 162 +++--
.../execution/exchange/sink/SinkChannel.java | 24 +-
.../execution/exchange/source/SourceHandle.java | 102 ++-
.../fragment/FragmentInstanceContext.java | 51 +-
.../fragment/FragmentInstanceManager.java | 19 +-
.../execution/fragment/QueryContext.java | 11 +
.../process/copyto/TableCopyToOperator.java | 2 +
.../execution/operator/source/FileLoaderUtils.java | 4 +
.../InformationSchemaContentSupplierFactory.java | 9 +
.../plan/analyze/ClusterPartitionFetcher.java | 4 +
.../plan/analyze/IPartitionFetcher.java | 2 +
.../analyze/cache/partition/PartitionCache.java | 81 ++-
.../plan/analyze/load/LoadTsFileAnalyzer.java | 4 +
.../execution/config/TableConfigTaskVisitor.java | 69 +-
.../config/executor/ClusterConfigTaskExecutor.java | 19 +-
.../config/metadata/DatabaseSchemaTask.java | 3 +
.../metadata/relational/AbstractDatabaseTask.java | 1 +
.../metadata/relational/ShowCreateTableTask.java | 8 +-
.../config/metadata/relational/ShowDBTask.java | 1 +
.../metadata/relational/ShowTablesDetailsTask.java | 3 +
.../execution/config/sys/pipe/ShowPipeTask.java | 9 +
.../sys/subscription/ShowSubscriptionsTask.java | 50 ++
.../db/queryengine/plan/parser/ASTVisitor.java | 8 +
.../plan/planner/LocalExecutionPlanContext.java | 2 +-
.../plan/planner/LocalExecutionPlanner.java | 2 +-
.../plan/planner/OperatorTreeGenerator.java | 2 +-
.../ConsumeAllChildrenPipelineMemoryEstimator.java | 1 +
...umeChildrenOneByOnePipelineMemoryEstimator.java | 1 +
.../memory/FakedMemoryReservationManager.java | 3 +
.../NotThreadSafeMemoryReservationManager.java | 16 +-
.../memory/PipelineMemoryEstimatorFactory.java | 1 +
.../memory/ThreadSafeMemoryReservationManager.java | 5 +
.../relational/analyzer/StatementAnalyzer.java | 68 +-
.../read_tsfile/ExternalTsFileQueryResource.java | 3 +
.../relational/metadata/TableMetadataImpl.java | 2 +
.../fetcher/cache/TableDeviceSchemaCache.java | 38 +-
.../cache/TreeDeviceSchemaCacheManager.java | 9 +
.../plan/relational/planner/RelationPlanner.java | 12 +-
.../distribute/TableDistributedPlanGenerator.java | 23 +-
.../security/TreeAccessCheckVisitor.java | 4 +-
.../plan/relational/sql/ast/LoadTsFile.java | 1 +
.../plan/relational/sql/ast/ShowSubscriptions.java | 16 +-
.../plan/relational/sql/parser/AstBuilder.java | 2 +-
.../relational/sql/util/DataNodeSqlFormatter.java | 8 +-
.../plan/scheduler/AsyncPlanNodeSender.java | 46 +-
.../plan/scheduler/AsyncSendPlanNodeHandler.java | 53 +-
.../scheduler/FragmentInstanceDispatcherImpl.java | 45 ++
.../scheduler/load/LoadTsFileDispatcherImpl.java | 23 +
.../plan/scheduler/load/LoadTsFileScheduler.java | 27 +-
.../plan/statement/crud/LoadTsFileStatement.java | 10 +-
.../metadata/DatabaseSchemaStatement.java | 15 +
.../statement/metadata/ShowDatabaseStatement.java | 1 +
.../subscription/ShowSubscriptionsStatement.java | 9 +
.../schemaengine/lease/MetadataLeaseManager.java | 4 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 2 +
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 17 +-
.../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 2 +
.../impl/pbtree/flush/PBTreeFlushExecutor.java | 2 +
.../mtree/impl/pbtree/schemafile/SchemaFile.java | 2 +
.../schemaregion/utils/ResourceByPathUtils.java | 339 ++++++---
.../db/schemaengine/table/DataNodeTableCache.java | 21 +
.../schemaengine/table/InformationSchemaUtils.java | 4 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 5 +-
.../db/service/DataNodeInternalRPCService.java | 8 +-
.../iotdb/db/service/ExternalRPCService.java | 14 +-
.../service/metrics/DataNodeExceptionMetrics.java | 104 +++
.../db/service/metrics/DataNodeMetricsHelper.java | 2 +
.../iotdb/db/service/metrics/WritingMetrics.java | 34 +-
.../db/storageengine/dataregion/DataRegion.java | 2 +
.../execute/task/AbstractCompactionTask.java | 2 +
.../compaction/schedule/CompactionScheduler.java | 2 +
.../dataregion/flush/MemTableFlushTask.java | 3 +
.../memtable/AbstractWritableMemChunk.java | 26 +-
.../memtable/AlignedReadOnlyMemChunk.java | 4 +-
.../dataregion/memtable/ReadOnlyMemChunk.java | 4 +-
.../dataregion/memtable/TsFileProcessor.java | 10 +
.../utils/TableDiskUsageStatisticUtil.java | 2 +
.../tableDiskUsageIndex/TableDiskUsageIndex.java | 2 +
.../tsfile/TsFileTableDiskUsageIndexWriter.java | 4 +
.../tsfile/TsFileTableSizeIndexFileWriter.java | 4 +-
.../tsfile/TsFileTableSizeIndexReader.java | 2 +
.../dataregion/wal/buffer/WALBuffer.java | 39 +-
.../wal/checkpoint/CheckpointManager.java | 6 +
.../storageengine/dataregion/wal/node/WALNode.java | 124 +++-
.../dataregion/wal/recover/WALNodeRecoverTask.java | 2 +
.../recover/file/SealedTsFileRecoverPerformer.java | 2 +
.../file/UnsealedTsFileRecoverPerformer.java | 3 +
.../db/storageengine/load/LoadTsFileManager.java | 4 +
.../load/active/ActiveLoadDirScanner.java | 4 +-
.../load/active/ActiveLoadPathHelper.java | 93 +++
.../load/active/ActiveLoadPendingQueue.java | 26 +-
.../load/active/ActiveLoadTsFileLoader.java | 86 ++-
...leStatementDataTypeConvertExecutionVisitor.java | 170 +++--
...eeStatementDataTypeConvertExecutionVisitor.java | 302 +++++---
.../converter/LoadTreeTsFileTabletIterator.java | 37 +-
.../converter/LoadTsFileDataTypeConverter.java | 2 +-
.../converter/PipeTsFileConversionTaskManager.java | 543 ++++++++++++++
.../load/memory/LoadTsFileParserMemoryManager.java | 120 +++
.../iotdb/db/storageengine/load/util/LoadUtil.java | 169 ++++-
.../db/storageengine/rescon/disk/TierManager.java | 4 +
.../agent/SubscriptionBrokerAgent.java | 43 +-
.../agent/SubscriptionReceiverAgent.java | 265 ++++++-
.../subscription/agent/SubscriptionTopicAgent.java | 105 +++
.../broker/ConsensusSubscriptionBroker.java | 65 +-
.../subscription/broker/ISubscriptionBroker.java | 8 +
.../db/subscription/broker/SubscriptionBroker.java | 21 +-
.../broker/SubscriptionPrefetchingQueue.java | 33 +
.../consensus/ConsensusPrefetchingQueue.java | 485 ++++++++++++-
.../ConsensusSubscriptionCommitManager.java | 4 +-
.../ConsensusSubscriptionSetupHandler.java | 65 +-
.../broker/consensus/ProgressWALIterator.java | 60 +-
.../db/subscription/event/SubscriptionEvent.java | 5 +
...nsensusSubscriptionPrefetchingQueueMetrics.java | 98 +++
.../receiver/SubscriptionReceiver.java | 23 +
.../receiver/SubscriptionReceiverV1.java | 180 +++--
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 5 +-
.../db/utils/datastructure/AlignedTVList.java | 538 ++++++++++++--
.../db/utils/datastructure/BackAlignedTVList.java | 6 +-
.../db/utils/datastructure/QuickAlignedTVList.java | 6 +-
.../iotdb/db/utils/datastructure/TVList.java | 14 +-
.../db/utils/datastructure/TimAlignedTVList.java | 6 +-
.../audit/DataNodeUserDataTransferAuditorTest.java | 136 ++++
.../db/auth/ClusterAuthorityFetcherLeaseTest.java | 24 +-
.../iotdb/db/conf/DataNodeMemoryConfigTest.java | 57 +-
.../IoTDBDescriptorDefaultMemoryConfigTest.java | 52 ++
.../conf/IoTDBDescriptorSystemPropertiesTest.java | 65 ++
.../org/apache/iotdb/db/conf/PropertiesTest.java | 28 +
.../cache/TreeDeviceSchemaCacheManagerTest.java | 29 +
.../pipe/agent/task/PipeDataNodeTaskAgentTest.java | 389 ++++++++++
.../PipeProcessorSubtaskExecutionGuardTest.java | 247 +++++++
.../processor/PipeProcessorSubtaskWorkerTest.java | 151 ++++
.../subtask/sink/PipeSinkSubtaskManagerTest.java | 89 +++
.../task/subtask/sink/PipeSinkSubtaskTest.java | 49 ++
.../pipe/event/TsFileInsertionEventParserTest.java | 221 +++++-
.../schema/PipeSchemaRegionSinkMetricsTest.java | 77 ++
.../receiver/PipeStatementTsStatusVisitorTest.java | 18 +
.../protocol/airgap/IoTDBAirGapReceiverTest.java | 69 ++
.../protocol/thrift/IoTDBDataNodeReceiverTest.java | 64 ++
.../resource/PipeTsFileResourceManagerTest.java | 87 +++
.../memory/PipeMemoryManagerResizeTest.java | 38 +-
.../pipe/sink/PipeDataNodeThriftRequestTest.java | 54 ++
.../opcua/OpcUaSinkTsFileMetadataTest.java | 167 +++++
.../opcua/OpcUaSinkTsFilePerformanceTest.java | 415 +++++++++++
.../protocol/opcua/client/ClientRunnerTest.java | 2 +-
.../opcua/client/IoTDBOpcUaClientTest.java | 159 +++-
.../opcua/server/OpcUaNameSpaceMetadataTest.java | 167 +++++
.../opcua/server/OpcUaServerBuilderTest.java | 104 ++-
.../server/OpcUaTcpNoneCompatibilityTest.java | 132 ++++
.../thrift/async/IoTDBDataRegionAsyncSinkTest.java | 66 ++
.../PipeTransferTsFileHandlerCleanupTest.java | 56 ++
.../db/pipe/source/IoTDBDataRegionSourceTest.java | 31 +
.../dataregion/DataRegionListeningFilterTest.java | 65 ++
...ricalDataRegionTsFileAndDeletionSourceTest.java | 26 +
.../DataNodeInternalRPCServiceImplDiskTest.java | 108 +++
...nternalRPCServiceImplPushMultiPipeMetaTest.java | 72 ++
...rnalRPCServiceImplSubscriptionDisabledTest.java | 56 ++
.../exchange/MPPDataExchangeManagerTest.java | 80 ++
.../execution/exchange/ShuffleSinkHandleTest.java | 226 ++++++
.../SinkChannelFailurePropagationTest.java | 364 ++++++++++
.../execution/exchange/SourceHandleTest.java | 74 ++
.../fragment/FragmentInstanceExecutionTest.java | 212 +++++-
.../fragment/FragmentInstanceManagerTest.java | 131 ++++
.../fragment/QueryModificationLoaderTest.java | 5 +
.../plan/analyze/cache/PartitionCacheTest.java | 31 +-
.../plan/analyze/load/LoadTsFileAnalyzerTest.java | 10 +
.../config/metadata/DatabaseSchemaTaskTest.java | 57 ++
.../config/sys/pipe/ShowPipeTaskTest.java | 13 +-
.../ShowSubscriptionsTaskTest.java} | 68 +-
.../parser/ShowSubscriptionsStatementTest.java} | 25 +-
.../LocalExecutionPlannerOperatorsMemoryTest.java | 46 ++
.../plan/planner/PipelineBuilderTest.java | 2 +-
.../relational/analyzer/TableFunctionTest.java | 174 +++++
.../fetcher/cache/TableDeviceSchemaCacheTest.java | 184 ++++-
...teTopicTest.java => ShowSubscriptionsTest.java} | 33 +-
.../relational/sql/parser/StreamKeywordTest.java | 127 ++++
.../plan/scheduler/AsyncPlanNodeSenderTest.java | 81 +++
.../scheduler/load/LoadTsFileSchedulerTest.java | 43 ++
.../statement/crud/LoadTsFileStatementTest.java | 12 +
.../utils/ResourceByPathUtilsTest.java | 113 +++
.../db/service/metrics/WritingMetricsTest.java | 87 +++
.../compaction/CompactionWorkerTest.java | 58 +-
.../dataregion/memtable/TsFileProcessorTest.java | 58 +-
.../wal/node/ConsensusReqReaderTest.java | 53 ++
.../wal/node/WALFileListCachePerformanceTest.java | 338 +++++++++
.../wal/node/WalDeleteOutdatedNewTest.java | 12 +
.../load/active/ActiveLoadDirScannerTest.java | 40 +-
.../load/active/ActiveLoadPathHelperTest.java | 31 +
.../load/active/ActiveLoadTsFileLoaderTest.java | 14 +
...atementDataTypeConvertExecutionVisitorTest.java | 84 +++
.../LoadTsFileParserPipeMemoryIsolationTest.java | 66 ++
.../PipeTsFileConversionTaskManagerTest.java | 381 ++++++++++
.../load/memory/LoadTsFileMemoryManagerTest.java | 20 +
.../db/storageengine/load/util/LoadUtilTest.java | 159 +++-
.../rescon/disk/FolderManagerTest.java | 25 +
.../agent/SubscriptionReceiverAgentTest.java | 323 +++++++++
...onsensusSubscriptionBrokerPayloadLimitTest.java | 93 +++
.../SubscriptionBrokerAgentPayloadLimitTest.java | 104 +++
.../consensus/ConsensusPrefetchingQueueTest.java | 348 ++++++++-
.../ConsensusSubscriptionSetupHandlerTest.java | 66 ++
.../broker/consensus/ProgressWALIteratorTest.java | 49 +-
...susSubscriptionPrefetchingQueueMetricsTest.java | 20 +
.../receiver/SubscriptionReceiverV1Test.java | 94 ++-
.../db/utils/datastructure/AlignedTVListTest.java | 217 +++++-
.../metrics/config/MetricConfigDescriptor.java | 73 +-
.../org/apache/iotdb/metrics/utils/NodeType.java | 3 +-
iotdb-core/node-commons/pom.xml | 8 +
.../resources/conf/edge/iotdb-system.properties | 152 ++++
.../conf/iotdb-system.properties.template | 9 +
.../apache/iotdb/commons/i18n/CommonMessages.java | 261 +++++--
.../apache/iotdb/commons/i18n/QueryMessages.java | 39 +
.../apache/iotdb/commons/i18n/ServiceMessages.java | 4 +
.../apache/iotdb/commons/i18n/CommonMessages.java | 14 +-
.../apache/iotdb/commons/i18n/QueryMessages.java | 36 +
.../apache/iotdb/commons/i18n/ServiceMessages.java | 4 +
.../iotdb/commons/audit/AbstractAuditLogger.java | 124 ++++
.../apache/iotdb/commons/audit/AuditEventType.java | 3 +-
.../audit/TrustedChannelFailureHandler.java | 12 +-
.../commons/audit/UserDataTransferAuditEvent.java | 84 +++
.../audit/UserDataTransferAuditHandler.java} | 31 +-
...geLevel.java => UserDataTransferErrorCode.java} | 13 +-
....java => UserDataTransferProtectionMethod.java} | 13 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 18 +-
.../iotdb/commons/conf/CommonDescriptor.java | 4 -
.../apache/iotdb/commons/disk/FolderManager.java | 14 +
.../commons/disk/strategy/DirectoryStrategy.java | 18 +-
....java => PipeRuntimeSinkResourceException.java} | 31 +-
...RuntimeSinkRetryTimesConfigurableException.java | 6 +
.../pipe/agent/plugin/meta/PipePluginMeta.java | 13 +-
.../service/PipePluginExecutableManager.java | 60 +-
.../commons/pipe/agent/task/PipeTaskAgent.java | 256 +++++--
.../pipe/agent/task/meta/PipeRuntimeMeta.java | 4 +-
.../commons/pipe/agent/task/meta/PipeTaskMeta.java | 4 +-
.../agent/task/meta/PipeTemporaryMetaInAgent.java | 19 +-
.../task/meta/PipeTemporaryMetaInCoordinator.java | 99 ++-
.../task/subtask/PipeAbstractSinkSubtask.java | 23 +-
.../pipe/agent/task/subtask/PipeSubtask.java | 15 +-
.../iotdb/commons/pipe/config/PipeConfig.java | 1 +
.../pipe/config/constant/PipeSinkConstant.java | 7 +
.../pipe/config/constant/PipeSourceConstant.java | 5 +
.../commons/pipe/receiver/IoTDBFileReceiver.java | 16 +-
.../pipe/receiver/PipeReceiverStatusHandler.java | 258 ++++++-
.../pipe/resource/PipeRecentFailureCounter.java | 93 +++
.../pipe/resource/PipeResourceFailureType.java | 18 +-
.../commons/pipe/resource/PipeStopStrategy.java | 76 ++
.../commons/pipe/sink/protocol/IoTDBSink.java | 23 +
.../function/TableBuiltinTableFunction.java | 18 +-
.../schema/column/ColumnHeaderConstant.java | 52 +-
.../apache/iotdb/commons/schema/table/Audit.java | 13 +
.../commons/schema/table/InformationSchema.java | 11 +
.../iotdb/commons/schema/table/TreeViewSchema.java | 2 +
.../apache/iotdb/commons/schema/table/TsTable.java | 26 +-
.../commons/schema/tree/AbstractTreeVisitor.java | 4 +-
.../TrustedChannelAuditServerEventHandler.java | 152 ++++
.../commons/service/metric}/ProcessMetrics.java | 8 +-
.../iotdb/commons/service/metric/enums/Metric.java | 12 +
.../iotdb/commons/service/metric/enums/Tag.java | 1 +
.../consumer/SubscriptionProgressSnapshot.java | 278 +++++++
.../builtin/relational/tvf/FFTTableFunction.java | 804 +++++++++++++++++++++
.../tvf/FilterTransferTableFunction.java | 315 ++++++++
.../relational/tvf/HighPassTableFunction.java | 81 +++
.../relational/tvf/LowPassTableFunction.java | 77 ++
.../builtin/relational/tvf/M4TableFunction.java | 87 +--
.../udf/builtin/relational/tvf/WindowTVFUtils.java | 184 +++++
.../builtin/relational/tvf/XCorrTableFunction.java | 249 +++++++
.../builtin/relational/tvf/fft/DoubleFFT_1D.java | 191 +++++
.../builtin/relational/tvf/fft/FloatFFT_1D.java | 160 ++++
.../org/apache/iotdb/commons/utils/FileUtils.java | 16 +
.../commons/audit/AbstractAuditLoggerTest.java | 171 +++++
.../audit/UserDataTransferAuditEventTest.java | 57 ++
.../iotdb/commons/conf/CommonConfigTest.java | 56 ++
.../service/PipePluginExecutableManagerTest.java | 111 +++
.../agent/task/meta/PipeTemporaryMetaTest.java | 32 +
.../PipeReceiverStatusHandlerTest.java | 226 ++++++
.../pipe/plugin/meta/PipePluginMetaTest.java | 17 +
.../resource/PipeRecentFailureCounterTest.java | 48 ++
.../pipe/resource/PipeStopStrategyTest.java | 84 +++
.../schema/filter/impl/DeviceFilterUtilTest.java | 15 +
.../iotdb/commons/schema/table/AuditTest.java} | 22 +-
.../TrustedChannelAuditServerEventHandlerTest.java | 220 ++++++
.../consumer/SubscriptionProgressSnapshotTest.java | 78 ++
.../relational/tvf/FFTTableFunctionTest.java | 518 +++++++++++++
.../udf/builtin/relational/tvf/fft/FFT1DTest.java | 148 ++++
.../db/relational/grammar/sql/RelationalSql.g4 | 6 +-
.../thrift-commons/src/main/thrift/common.thrift | 10 +-
.../src/main/thrift/confignode.thrift | 28 +
.../src/main/thrift/datanode.thrift | 3 +
pom.xml | 66 +-
scripts/conf/edge-env.sh | 69 ++
scripts/conf/windows/edge-env.bat | 48 ++
scripts/sbin/start-edge.sh | 96 +++
scripts/sbin/stop-edge.sh | 114 +++
scripts/sbin/windows/check-edge.ps1 | 66 ++
scripts/sbin/windows/start-cli.bat | 1 +
scripts/sbin/windows/start-edge.bat | 109 +++
.../windows/{start-cli-table.bat => stop-edge.bat} | 25 +-
scripts/tools/ops/daemon-edge.sh | 114 +++
scripts/tools/ops/destroy-edge.sh | 161 +++++
scripts/tools/windows/ops/destroy-edge.bat | 96 +++
540 files changed, 32863 insertions(+), 4473 deletions(-)
create mode 100644 .github/scripts/test-edge-ops.py
create mode 100644 .github/scripts/test-edge-windows.ps1
copy .github/workflows/{dependency-check.yml => edge-it.yml} (52%)
copy distribution/src/assembly/{all.xml => edge.xml} (62%)
copy iotdb-core/datanode/src/assembly/resources/conf/logback-datanode.xml =>
distribution/src/assembly/resources/conf-edge/logback-edge.xml (81%)
create mode 100644
external-service-impl/rest/src/main/java/org/apache/iotdb/rest/TrustedChannelAuditHandshakeListener.java
create mode 100644
external-service-impl/rest/src/test/java/org/apache/iotdb/rest/TrustedChannelAuditHandshakeListenerTest.java
copy
integration-test/src/main/java/org/apache/iotdb/itbase/category/{DailyIT.java
=> EdgeIT.java} (96%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBShowQueriesIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/edge/it/IoTDBEdgeBasicIT.java
delete mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/basic/IoTDBPipeTwoStageAggregateIT.java
delete mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBLegacyPipeReceiverAutoCreateIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipeOperationDiagnosticsIT.java
rename
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/{IoTDBLegacyPipeReceiverSecurityIT.java
=> IoTDBPipeReceiverIT.java} (56%)
delete mode 100644
integration-test/src/test/java/org/apache/iotdb/pipe/it/single/IoTDBPipeReceiverSessionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBFFTTableFunctionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableAuthHAIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/subscription/it/consensus/local/tablemodel/IoTDBConsensusSubscriptionConsumerDisconnectTableIT.java
create mode 100644 iotdb-client/client-cpp/test/cpp/sessionUtilsTest.cpp
copy
iotdb-client/{isession/src/main/java/org/apache/iotdb/isession/util/Version.java
=> client-cpp/test/main_utils.cpp} (89%)
create mode 100644 iotdb-client/client-py/iotdb/utils/SessionUtils.py
create mode 100644 iotdb-client/client-py/tests/unit/test_session_utils.py
create mode 100644
iotdb-client/service-rpc/src/test/java/org/apache/iotdb/rpc/DeepCopyRpcTransportFactoryTest.java
create mode 100644
iotdb-client/subscription/src/test/java/org/apache/iotdb/session/subscription/consumer/base/SubscriptionConsumerMultiProviderPollTest.java
rename iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine =>
calc-commons/src/main/java/org/apache/iotdb/calc}/plan/planner/memory/PipelineMemoryEstimator.java
(95%)
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/edge/EdgeNode.java
copy
iotdb-core/consensus/src/{test/java/org/apache/iotdb/consensus/EmptyStateMachine.java
=>
main/java/org/apache/iotdb/consensus/config/UserDataTransferAuditClassifier.java}
(53%)
create mode 100644
iotdb-core/consensus/src/test/java/org/apache/iotdb/consensus/iot/client/DispatchLogHandlerTest.java
create mode 100644
iotdb-core/consensus/src/test/java/org/apache/iotdb/consensus/iot/logdispatcher/LogDispatcherTest.java
create mode 100644
iotdb-core/consensus/src/test/java/org/apache/iotdb/consensus/iot/subscription/SubscriptionQueueRegistryTest.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/DataNodeUserDataTransferAuditor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtaskExecutionGuard.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtaskYieldException.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/{consensus/deletion/persist/DeletionBuffer.java
=> event/common/tsfile/parser/TsFileInsertionEventParserMemoryBlock.java} (63%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/tsfile/parser/TsFileInsertionEventParserMemoryManager.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeExceptionMetrics.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/converter/PipeTsFileConversionTaskManager.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/memory/LoadTsFileParserMemoryManager.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/audit/DataNodeUserDataTransferAuditorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/conf/IoTDBDescriptorDefaultMemoryConfigTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/conf/IoTDBDescriptorSystemPropertiesTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtaskExecutionGuardTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/agent/task/subtask/processor/PipeProcessorSubtaskWorkerTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSinkTsFileMetadataTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/OpcUaSinkTsFilePerformanceTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaNameSpaceMetadataTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/opcua/server/OpcUaTcpNoneCompatibilityTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSinkTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/source/dataregion/DataRegionListeningFilterTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImplDiskTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImplSubscriptionDisabledTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/exchange/SinkChannelFailurePropagationTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManagerTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/DatabaseSchemaTaskTest.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/{pipe/ShowPipeTaskTest.java
=> subscription/ShowSubscriptionsTaskTest.java} (52%)
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/{exception/CpuNotEnoughExceptionTest.java
=> plan/parser/ShowSubscriptionsStatementTest.java} (51%)
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/{ShowCreateTopicTest.java
=> ShowSubscriptionsTest.java} (64%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/StreamKeywordTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/scheduler/AsyncPlanNodeSenderTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/schemaengine/schemaregion/utils/ResourceByPathUtilsTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/service/metrics/WritingMetricsTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALFileListCachePerformanceTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/load/converter/LoadTsFileParserPipeMemoryIsolationTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/load/converter/PipeTsFileConversionTaskManagerTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/agent/SubscriptionReceiverAgentTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/ConsensusSubscriptionBrokerPayloadLimitTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/SubscriptionBrokerAgentPayloadLimitTest.java
create mode 100644
iotdb-core/node-commons/src/assembly/resources/conf/edge/iotdb-system.properties
copy
iotdb-client/session/src/main/java/org/apache/iotdb/session/QueryEndPointPolicy.java
=>
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/TrustedChannelFailureHandler.java
(74%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/UserDataTransferAuditEvent.java
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/warnings/WarningCollector.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/audit/UserDataTransferAuditHandler.java}
(55%)
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/{PrivilegeLevel.java
=> UserDataTransferErrorCode.java} (87%)
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/{AuditLogOperation.java
=> UserDataTransferProtectionMethod.java} (82%)
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/pipe/{IoTConsensusV2RetryWithIncreasingIntervalException.java
=> PipeRuntimeSinkResourceException.java} (50%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/resource/PipeRecentFailureCounter.java
copy
integration-test/src/test/java/org/apache/iotdb/subscription/it/DisplayName.java
=>
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/resource/PipeResourceFailureType.java
(72%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/resource/PipeStopStrategy.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/service/TrustedChannelAuditServerEventHandler.java
rename iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/service/metrics
=>
node-commons/src/main/java/org/apache/iotdb/commons/service/metric}/ProcessMetrics.java
(97%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/subscription/meta/consumer/SubscriptionProgressSnapshot.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/FFTTableFunction.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/FilterTransferTableFunction.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/HighPassTableFunction.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/LowPassTableFunction.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/XCorrTableFunction.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/fft/DoubleFFT_1D.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/fft/FloatFFT_1D.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/audit/AbstractAuditLoggerTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/audit/UserDataTransferAuditEventTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/conf/CommonConfigTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/pipe/agent/plugin/service/PipePluginExecutableManagerTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/pipe/resource/PipeRecentFailureCounterTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/pipe/resource/PipeStopStrategyTest.java
copy
iotdb-core/{datanode/src/test/java/org/apache/iotdb/db/queryengine/exception/CpuNotEnoughExceptionTest.java
=>
node-commons/src/test/java/org/apache/iotdb/commons/schema/table/AuditTest.java}
(58%)
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/service/TrustedChannelAuditServerEventHandlerTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/subscription/meta/consumer/SubscriptionProgressSnapshotTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/FFTTableFunctionTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/fft/FFT1DTest.java
create mode 100644 scripts/conf/edge-env.sh
create mode 100644 scripts/conf/windows/edge-env.bat
create mode 100644 scripts/sbin/start-edge.sh
create mode 100644 scripts/sbin/stop-edge.sh
create mode 100644 scripts/sbin/windows/check-edge.ps1
create mode 100644 scripts/sbin/windows/start-edge.bat
copy scripts/sbin/windows/{start-cli-table.bat => stop-edge.bat} (52%)
create mode 100644 scripts/tools/ops/daemon-edge.sh
create mode 100644 scripts/tools/ops/destroy-edge.sh
create mode 100644 scripts/tools/windows/ops/destroy-edge.bat