This is an automated email from the ASF dual-hosted git repository.
Caideyipi pushed a change to branch feat/show-receivers
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 47c80d4fa55 [Pipe] Preserve receiver sessions across region task
lifecycle
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 e816bc1a2b8 Refactor ConfigNode client/info and DirectoryChecker into
node-common… (#18561)
add 4697c42183c Change default edge ratis configuration (#18576)
add fd398988672 Bound PartitionInfo snapshot buffers via
config_node_snapshot_buffer_size_max (#18580)
add 2c0c307c3d6 Harden timestamp arithmetic and boundary handling across
IoTDB (#17893)
add dc7346933be Support spill of devce entry in query process (#18493)
add 219332dacb8 add dailyIT for device entry spilling to disk (#18583)
add 57ce0d0e8fe remove some stack print (#18585)
add 9d912452c5a Make Edge query and load-event thread pools configurable
(#18584)
add e9dd92d13b6 Optimize Prometheus reporter snapshot updates (#18562)
add 72a0cc27e47 Merge branch 'master' of https://github.com/apache/iotdb
into feat/show-receivers
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 | 391 +-------
.../{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 +
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 +-
integration-test/pom.xml | 20 +
integration-test/src/assembly/mpp-test.xml | 3 +
.../it/env/cluster/config/MppCommonConfig.java | 6 -
.../it/env/cluster/config/MppDataNodeConfig.java | 6 +
.../env/cluster/config/MppSharedCommonConfig.java | 7 -
.../it/env/remote/config/RemoteCommonConfig.java | 5 -
.../it/env/remote/config/RemoteDataNodeConfig.java | 5 +
.../itbase/category/{DailyIT.java => EdgeIT.java} | 3 +-
.../org/apache/iotdb/itbase/env/CommonConfig.java | 2 -
.../apache/iotdb/itbase/env/DataNodeConfig.java | 2 +
.../commit/IoTDBRegionReconstructForIoTV1IT.java | 108 ++-
.../apache/iotdb/db/it/IoTDBLoadTsFileAuthIT.java | 29 +
.../org/apache/iotdb/db/it/utils/TestUtils.java | 54 +-
.../org/apache/iotdb/edge/it/IoTDBEdgeBasicIT.java | 501 +++++++++++
.../auto/enhanced/IoTDBPipeAutoDropIT.java | 188 ++++
.../pipe/it/single/IoTDBPipePermissionIT.java | 66 ++
.../it/db/it/IoTDBFFTTableFunctionIT.java | 293 ++++++
.../relational/it/db/it/IoTDBWindowTVFIT.java | 273 ++++++
.../it/query/recent/IoTDBDeviceEntrySpillIT.java | 146 +++
.../it/query/recent/IoTDBTableAggregationIT.java | 20 +
.../iotdb/session/it/IoTDBSessionSimpleIT.java | 5 +-
.../IoTDBSubscriptionTopicOwnerPartitionIT.java | 1 -
...ConsensusSubscriptionColumnFilterClusterIT.java | 1 -
.../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 | 2 +-
iotdb-client/client-cpp/examples/README_zh.md | 2 +-
.../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 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 +
.../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 ++
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 2 +-
.../fill/filter/FixedIntervalFillFilter.java | 4 +-
.../operator/process/fill/linear/LinearFill.java | 6 +-
.../process/gapfill/AbstractGapFillOperator.java | 22 +-
.../planner/memory/PipelineMemoryEstimator.java | 4 +-
.../scalar/DateBinFunctionColumnTransformer.java | 66 +-
.../iotdb/confignode/i18n/ConfigNodeMessages.java | 9 +
.../iotdb/confignode/i18n/ConfigNodeMessages.java | 9 +
.../heartbeat/DataNodeHeartbeatHandler.java | 3 +-
.../subscription/PullCommitProgressRPCHandler.java | 3 +-
.../iotdb/confignode/conf/ConfigNodeConfig.java | 34 +
.../confignode/conf/ConfigNodeDescriptor.java | 14 +
.../iotdb/confignode/manager/ConfigManager.java | 114 ++-
.../manager/load/service/EventService.java | 5 +-
.../runtime/PipeRuntimeCoordinator.java | 7 +-
.../runtime/heartbeat/PipeHeartbeat.java | 46 +-
.../runtime/heartbeat/PipeHeartbeatParser.java | 185 ++--
.../runtime/heartbeat/PipeHeartbeatScheduler.java | 3 +-
.../persistence/partition/PartitionInfo.java | 23 +-
.../confignode/persistence/pipe/PipeTaskInfo.java | 4 -
.../iotdb/confignode/service/ConfigNode.java | 2 +-
.../main/java/org/apache/iotdb/edge/EdgeNode.java | 122 +++
.../confignode/conf/ConfigNodeConfigTest.java} | 29 +-
.../conf/LoadStatisticsPublisherConfigTest.java | 85 ++
.../runtime/heartbeat/PipeHeartbeatParserTest.java | 245 ++++-
.../confignode/persistence/PartitionInfoTest.java | 65 ++
.../iotdb/consensus/i18n/IoTConsensusMessages.java | 3 +
.../iotdb/consensus/i18n/IoTConsensusMessages.java | 3 +
.../common/request/IndexedConsensusRequest.java | 10 +
.../iotdb/consensus/config/ConsensusConfig.java | 41 +-
.../config/UserDataTransferAuditClassifier.java} | 49 +-
.../apache/iotdb/consensus/iot/IoTConsensus.java | 14 +-
.../consensus/iot/IoTConsensusServerImpl.java | 124 ++-
.../consensus/iot/client/DispatchLogHandler.java | 131 ++-
.../iotdb/consensus/iot/logdispatcher/Batch.java | 10 +
.../consensus/iot/logdispatcher/LogDispatcher.java | 32 +-
.../SubscriptionWalRetentionCalculator.java | 8 +-
.../consensus/iot/IoTConsensusServerImplTest.java | 36 +
.../iot/client/DispatchLogHandlerTest.java | 173 ++++
.../iot/logdispatcher/LogDispatcherTest.java | 64 ++
.../SubscriptionWalRetentionCalculatorTest.java | 13 +
iotdb-core/datanode/src/assembly/server.xml | 1 +
.../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 48 +-
.../apache/iotdb/db/i18n/DataNodePipeMessages.java | 27 +-
.../iotdb/db/i18n/DataNodeQueryMessages.java | 58 ++
.../iotdb/db/i18n/StorageEngineMessages.java | 11 +-
.../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 45 +-
.../apache/iotdb/db/i18n/DataNodePipeMessages.java | 23 +-
.../iotdb/db/i18n/DataNodeQueryMessages.java | 59 ++
.../iotdb/db/i18n/StorageEngineMessages.java | 9 +-
.../db/audit/DataNodeUserDataTransferAuditor.java | 135 +++
.../org/apache/iotdb/db/auth/LoginLockManager.java | 20 +-
.../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 5 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 47 +
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 57 +-
.../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 283 ++----
.../db/consensus/DataRegionConsensusImpl.java | 24 +
...java => DeviceEntrySpillNotFoundException.java} | 22 +-
.../query/QueryTimeoutRuntimeException.java | 7 +-
.../agent/runtime/PipeDataNodeRuntimeAgent.java | 17 +-
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 108 ++-
.../pipe/agent/task/stage/PipeTaskSinkStage.java | 7 +-
.../agent/task/subtask/sink/PipeSinkSubtask.java | 46 +
.../task/subtask/sink/PipeSinkSubtaskManager.java | 237 ++++-
.../tsfile/parser/util/ModsOperationUtil.java | 17 +-
.../metric/schema/PipeSchemaRegionSinkMetrics.java | 69 +-
.../metric/sink/PipeDataRegionSinkMetrics.java | 271 ++----
.../processor/TumblingWindowingProcessor.java | 31 +-
.../downsampling/DownSamplingTimeUtils.java} | 45 +-
.../downsampling/changing/ChangingValueFilter.java | 19 +-
.../sdt/SwingingDoorTrendingFilter.java | 23 +-
.../tumbling/TumblingTimeSamplingProcessor.java | 9 +-
.../iotconsensusv2/IoTConsensusV2Receiver.java | 3 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 4 +-
.../resource/tsfile/PipeTsFileResourceManager.java | 57 +-
.../iotconsensusv2/IoTConsensusV2AsyncSink.java | 46 +-
.../iotconsensusv2/IoTConsensusV2SyncSink.java | 66 ++
.../IoTConsensusV2TabletBatchEventHandler.java | 8 +
.../IoTConsensusV2TabletInsertionEventHandler.java | 11 +
.../IoTConsensusV2TsFileInsertionEventHandler.java | 16 +
.../thrift/async/IoTDBDataRegionAsyncSink.java | 74 +-
.../dataregion/DataRegionWatermarkInjector.java | 10 +-
...istoricalDataRegionTsFileAndDeletionSource.java | 2 +-
.../realtime/PipeRealtimeDataRegionSource.java | 4 +-
.../iotdb/db/protocol/client/ConfigNodeClient.java | 289 +-----
.../iotdb/db/protocol/client/ConfigNodeInfo.java | 156 +---
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 4 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 59 +-
.../db/queryengine/common/MPPQueryContext.java | 74 ++
.../common/header/DatasetHeaderFactory.java | 4 +
.../aggregation/TimeDurationAccumulator.java | 7 +-
.../timerangeiterator/AggrWindowIterator.java | 44 +-
.../timerangeiterator/ITimeRangeIterator.java | 43 +-
.../timerangeiterator/PreAggrWindowIterator.java | 48 +-
.../PreAggrWindowWithNaturalMonthIterator.java | 14 +-
.../TableDateBinTimeRangeIterator.java | 6 +-
.../queryengine/execution/driver/DataDriver.java | 45 +-
.../execution/driver/DataDriverContext.java | 2 +
.../execution/exchange/MPPDataExchangeManager.java | 63 ++
.../execution/exchange/sink/ShuffleSinkHandle.java | 63 +-
.../execution/exchange/source/SourceHandle.java | 63 +-
.../fragment/FragmentInstanceContext.java | 260 ++++--
.../fragment/FragmentInstanceManager.java | 3 +-
.../execution/fragment/QueryDataSourceLease.java | 58 ++
.../operator/process/ai/InferenceOperator.java | 30 +-
.../process/copyto/TableCopyToOperator.java | 2 +
.../operator/source/DataSourceOperator.java | 10 +
.../execution/operator/source/FileLoaderUtils.java | 4 +
.../relational/AbstractAggTableScanOperator.java | 152 +++-
.../AbstractDefaultAggTableScanOperator.java | 14 +
.../relational/AbstractTableScanOperator.java | 174 +++-
.../relational/DeviceIteratorScanOperator.java | 195 +++-
...onAlignedDeviceViewAggregationScanOperator.java | 102 ++-
.../metric/SeriesScanCostMetricSet.java | 92 ++
.../iotdb/db/queryengine/plan/Coordinator.java | 3 +-
.../db/queryengine/plan/analyze/AnalyzeUtils.java | 14 +
.../queryengine/plan/analyze/AnalyzeVisitor.java | 63 +-
.../plan/analyze/ClusterPartitionFetcher.java | 115 ++-
.../plan/analyze/IPartitionFetcher.java | 12 +
.../analyze/cache/partition/PartitionCache.java | 146 ++-
.../queryengine/plan/execution/QueryExecution.java | 11 +
.../config/executor/ClusterConfigTaskExecutor.java | 19 +-
.../sys/subscription/ShowSubscriptionsTask.java | 50 ++
.../plan/expression/ExpressionFactory.java | 19 +-
.../plan/optimization/LimitOffsetPushDown.java | 103 ++-
.../db/queryengine/plan/parser/ASTVisitor.java | 77 +-
.../planner/DataNodeTableOperatorGenerator.java | 403 +++++----
.../plan/planner/LocalExecutionPlanContext.java | 2 +-
.../plan/planner/LocalExecutionPlanner.java | 7 +-
.../plan/planner/OperatorTreeGenerator.java | 2 +-
.../ConsumeAllChildrenPipelineMemoryEstimator.java | 1 +
...umeChildrenOneByOnePipelineMemoryEstimator.java | 1 +
.../memory/PipelineMemoryEstimatorFactory.java | 1 +
.../planner/plan/node/PlanGraphJsonPrinter.java | 2 +-
.../plan/planner/plan/node/PlanGraphPrinter.java | 5 +-
.../planner/plan/node/write/InsertTabletNode.java | 14 +-
.../planner/plan/parameter/SeriesScanOptions.java | 9 +-
.../relational/analyzer/StatementAnalyzer.java | 68 +-
.../read_tsfile/ExternalTsFileQueryResource.java | 3 +
.../plan/relational/metadata/DeviceEntry.java | 19 +-
.../plan/relational/metadata/Metadata.java | 22 +-
.../relational/metadata/TableMetadataImpl.java | 34 +-
.../metadata/fetcher/DeviceEntryFetchContext.java | 71 ++
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 225 ++++-
.../spill/AbstractDeviceEntryMaterializer.java | 251 ++++++
.../metadata/spill/BatchDeviceEntrySource.java} | 13 +-
.../metadata/spill/DeviceEntryDataSet.java} | 35 +-
.../metadata/spill/DeviceEntryDataSetHandle.java | 113 +++
.../metadata/spill/DeviceEntryDataSetResult.java} | 26 +-
.../metadata/spill/DeviceEntryDiskSpiller.java | 149 +++
.../spill/DeviceEntryFileSpillerReader.java | 162 ++++
.../metadata/spill/DeviceEntryIOContext.java | 60 ++
...DeviceEntryMaterializationMemoryController.java | 78 ++
.../metadata/spill/DeviceEntryMaterializer.java | 132 +++
.../metadata/spill/DeviceEntryReader.java} | 12 +-
.../spill/DeviceEntryRpcSegmentFetcher.java | 126 +++
.../DeviceEntrySegmentFetcher.java} | 11 +-
.../spill/DeviceEntrySortedMaterializer.java | 371 ++++++++
.../metadata/spill/DeviceEntrySpillManager.java | 251 ++++++
.../metadata/spill/InMemoryDeviceEntryDataSet.java | 90 ++
.../metadata/spill/InMemoryDeviceEntrySource.java} | 34 +-
.../spill/LocalSegmentDeviceEntrySource.java | 92 ++
.../spill/RemoteSegmentDeviceEntrySource.java | 65 ++
.../metadata/spill/SegmentDeviceEntrySource.java | 88 ++
.../metadata/spill/SpilledDeviceEntryDataSet.java | 95 ++
.../plan/relational/planner/RelationPlanner.java | 12 +-
.../distribute/TableDistributedPlanGenerator.java | 996 ++++++++++++++++++++-
.../distribute/TableModelQueryFragmentPlanner.java | 18 +-
.../ir/GapFillStartAndEndTimeExtractVisitor.java | 6 +
.../iterative/rule/PruneTableScanColumns.java | 14 +-
.../planner/node/AggregationTableScanNode.java | 213 ++---
.../node/AggregationTreeDeviceViewScanNode.java | 45 +-
.../AlignedAggregationTreeDeviceViewScanNode.java | 45 +-
.../planner/node/DeviceTableScanNode.java | 94 +-
...onAlignedAggregationTreeDeviceViewScanNode.java | 45 +-
.../node/TreeAlignedDeviceViewScanNode.java | 33 +-
.../planner/node/TreeDeviceViewScanNode.java | 33 +-
.../node/TreeNonAlignedDeviceViewScanNode.java | 33 +-
.../PushAggregationIntoTableScan.java | 2 +-
.../optimizations/PushPredicateIntoTableScan.java | 171 ++--
.../optimizations/QueryCardinalityUtil.java | 4 +-
.../planner/optimizations/SortElimination.java | 2 +-
.../optimizations/UnaliasSymbolReferences.java | 12 +-
.../relational/planner/optimizations/Util.java | 1 +
.../relational/sql/ast/AbstractTraverseDevice.java | 5 +-
.../plan/relational/sql/ast/ShowSubscriptions.java | 16 +-
.../plan/relational/sql/parser/AstBuilder.java | 19 +-
.../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/InsertTabletStatement.java | 3 +-
.../plan/statement/crud/LoadTsFileStatement.java | 2 +-
.../subscription/ShowSubscriptionsStatement.java | 9 +
.../FragmentInstanceStatisticsDrawer.java | 23 +
.../FragmentInstanceStatisticsJsonDrawer.java | 14 +
.../statistics/QueryPlanStatistics.java | 39 +
.../dag/intermediate/MultiInputLayer.java | 9 +-
.../SingleInputMultiReferenceLayer.java | 9 +-
.../SingleInputSingleReferenceLayer.java | 9 +-
.../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 +
.../java/org/apache/iotdb/db/service/DataNode.java | 7 +-
.../iotdb/db/service/DataNodeShutdownHook.java | 2 +-
.../service/metrics/DataNodeExceptionMetrics.java | 104 +++
.../db/service/metrics/DataNodeMetricsHelper.java | 2 +
.../iotdb/db/storageengine/StorageEngine.java | 2 +
.../db/storageengine/dataregion/DataRegion.java | 12 +-
.../execute/task/AbstractCompactionTask.java | 2 +
.../execute/utils/MultiTsFileDeviceIterator.java | 4 +-
.../compaction/schedule/CompactionScheduler.java | 2 +
.../impl/RewriteCrossSpaceCompactionSelector.java | 3 +-
.../dataregion/flush/MemTableFlushTask.java | 3 +
.../memtable/AlignedReadOnlyMemChunk.java | 8 +-
.../memtable/MemChunkTimeRangeUtils.java | 56 ++
.../dataregion/memtable/ReadOnlyMemChunk.java | 8 +-
.../dataregion/memtable/TsFileProcessor.java | 14 +-
.../dataregion/tsfile/TsFileResource.java | 26 +-
.../tsfile/generator/TsFileNameGenerator.java | 3 +-
.../tsfile/timeindex/ArrayDeviceTimeIndex.java | 4 +-
.../dataregion/tsfile/timeindex/FileTimeIndex.java | 4 +-
.../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 | 5 +
.../wal/checkpoint/CheckpointManager.java | 6 +
.../storageengine/dataregion/wal/node/WALNode.java | 16 +-
.../dataregion/wal/recover/WALNodeRecoverTask.java | 2 +
.../recover/file/SealedTsFileRecoverPerformer.java | 2 +
.../file/UnsealedTsFileRecoverPerformer.java | 3 +
.../db/storageengine/load/LoadTsFileManager.java | 4 +
.../load/splitter/AlignedChunkData.java | 12 +-
.../splitter/BatchedAlignedValueChunkData.java | 6 +-
.../load/splitter/NonAlignedChunkData.java | 6 +-
.../load/splitter/TsFileSplitter.java | 23 +-
.../iotdb/db/storageengine/load/util/LoadUtil.java | 38 +
.../db/storageengine/rescon/disk/TierManager.java | 4 +
.../agent/SubscriptionBrokerAgent.java | 16 +
.../agent/SubscriptionReceiverAgent.java | 16 +-
.../broker/ConsensusSubscriptionBroker.java | 16 +
.../subscription/broker/ISubscriptionBroker.java | 5 +
.../consensus/ConsensusPrefetchingQueue.java | 152 +++-
.../ConsensusSubscriptionSetupHandler.java | 9 +
.../broker/consensus/ProgressWALIterator.java | 60 +-
...nsensusSubscriptionPrefetchingQueueMetrics.java | 98 ++
.../TsFileOverlapValidationAndRepairTool.java | 13 +-
.../org/apache/iotdb/db/utils/CommonUtils.java | 17 +-
.../iotdb/db/utils/DataNodeDateTimeUtils.java | 158 ++--
.../iotdb/db/utils/TimeFilterForDeviceTTL.java | 5 +-
.../SlidingTimeWindowEvaluationHandler.java | 22 +-
.../audit/DataNodeUserDataTransferAuditorTest.java | 136 +++
.../apache/iotdb/db/auth/LoginLockManagerTest.java | 25 +-
.../iotdb/db/conf/DataNodeMemoryConfigTest.java | 57 +-
.../IoTDBDescriptorDefaultMemoryConfigTest.java | 52 ++
.../conf/IoTDBDescriptorSystemPropertiesTest.java | 65 ++
.../org/apache/iotdb/db/conf/PropertiesTest.java | 59 ++
.../iotdb/db/conf/QueryThreadPoolConfigTest.java | 81 ++
.../pipe/agent/task/PipeDataNodeTaskAgentTest.java | 207 +++++
.../subtask/sink/PipeSinkSubtaskManagerTest.java | 89 ++
.../schema/PipeSchemaRegionSinkMetricsTest.java | 77 ++
.../processor/TumblingWindowingProcessorTest.java | 100 +++
.../receiver/PipeStatementTsStatusVisitorTest.java | 18 +
.../resource/PipeTsFileResourceManagerTest.java | 87 ++
.../thrift/async/IoTDBDataRegionAsyncSinkTest.java | 66 ++
.../PipeTransferTsFileHandlerCleanupTest.java | 56 ++
.../DataRegionWatermarkInjectorTest.java} | 25 +-
...ricalDataRegionTsFileAndDeletionSourceTest.java | 26 +
.../db/protocol/client/ConfigNodeInfoTest.java | 3 +-
.../DataNodeInternalRPCServiceImplDiskTest.java | 108 +++
...rnalRPCServiceImplSubscriptionDisabledTest.java | 56 ++
.../db/queryengine/execution/DataDriverTest.java | 46 +
.../execution/aggregation/AccumulatorTest.java | 19 +
.../aggregation/TimeRangeIteratorTest.java | 127 +++
.../execution/exchange/ShuffleSinkHandleTest.java | 134 ++-
.../execution/exchange/SourceHandleTest.java | 74 ++
.../fragment/FragmentInstanceContextTest.java | 41 +
...InfoTest.java => QueryDataSourceLeaseTest.java} | 33 +-
.../process/ai/InferenceOperatorTest.java} | 32 +-
.../relational/DeviceIteratorScanOperatorTest.java | 50 ++
...alTsFileTableScanOperatorRuntimeFilterTest.java | 9 +
.../operator/window/SessionWindowTest.java | 8 +
.../ConvertPredicateToTimeFilterTest.java | 5 +
.../db/queryengine/plan/analyze/AnalyzeTest.java | 13 +
.../queryengine/plan/analyze/AnalyzeUtilsTest.java | 63 +-
.../plan/analyze/FakePartitionFetcherImpl.java | 17 +
.../plan/analyze/QueryTimePartitionTest.java | 27 +
.../subscription/ShowSubscriptionsTaskTest.java | 80 ++
.../parser/ShowSubscriptionsStatementTest.java} | 25 +-
.../plan/parser/StatementGeneratorTest.java | 60 ++
.../plan/planner/PipelineBuilderTest.java | 2 +-
.../distribution/AggregationTableScanTest.java | 36 +
.../plan/planner/distribution/Util.java | 19 +
.../plan/planner/distribution/Util2.java | 19 +
.../planner/node/write/WritePlanNodeSplitTest.java | 49 +
.../plan/relational/analyzer/TSBSMetadata.java | 54 +-
.../relational/analyzer/TableFunctionTest.java | 174 ++++
.../plan/relational/analyzer/TestMetadata.java | 59 +-
.../spill/DeviceEntryMaterializerTest.java | 362 ++++++++
.../spill/DeviceEntryRpcSegmentFetcherTest.java | 107 +++
.../spill/InMemoryDeviceEntrySourceTest.java} | 26 +-
.../spill/SegmentDeviceEntrySourceTest.java | 347 +++++++
...teTopicTest.java => ShowSubscriptionsTest.java} | 33 +-
.../plan/scheduler/AsyncPlanNodeSenderTest.java | 81 ++
.../scheduler/load/LoadTsFileSchedulerTest.java | 43 +
.../FragmentInstanceStatisticsJsonDrawerTest.java | 12 +
.../cross/CrossSpaceCompactionSelectorTest.java | 33 +-
.../CrossSpaceCompactionWithFastPerformerTest.java | 7 +-
...sSpaceCompactionWithReadPointPerformerTest.java | 7 +-
.../cross/RewriteCompactionFileSelectorTest.java | 3 +-
.../memtable/MemChunkTimeRangeUtilsTest.java | 59 ++
.../dataregion/tsfile/TsFileResourceTest.java | 30 +
.../wal/node/ConsensusReqReaderTest.java | 2 +
.../db/storageengine/load/TsFileSplitterTest.java | 163 +++-
.../db/storageengine/load/util/LoadUtilTest.java | 59 ++
.../rescon/disk/FolderManagerTest.java | 25 +
.../agent/SubscriptionReceiverAgentTest.java | 52 +-
.../consensus/ConsensusPrefetchingQueueTest.java | 62 ++
.../ConsensusSubscriptionSetupHandlerTest.java | 6 +
.../broker/consensus/ProgressWALIteratorTest.java | 38 +
...susSubscriptionPrefetchingQueueMetricsTest.java | 20 +
.../apache/iotdb/db/utils/CommonUtilsTest.java} | 21 +-
.../apache/iotdb/db/utils/DateTimeUtilsTest.java | 41 +
.../SlidingTimeWindowEvaluationHandlerTest.java | 15 +
iotdb-core/metrics/ReadMe.md | 1 +
.../apache/iotdb/metrics/i18n/MetricsMessages.java | 1 +
.../apache/iotdb/metrics/i18n/MetricsMessages.java | 1 +
.../apache/iotdb/metrics/config/MetricConfig.java | 14 +
.../metrics/config/MetricConfigDescriptor.java | 94 +-
.../reporter/prometheus/PrometheusReporter.java | 120 ++-
.../org/apache/iotdb/metrics/utils/NodeType.java | 3 +-
.../iotdb/metrics/config/MetricConfigTest.java | 16 +
.../prometheus/PrometheusReporterTest.java | 75 ++
iotdb-core/node-commons/pom.xml | 8 +
.../resources/conf/edge/iotdb-system.properties | 199 ++++
.../conf/iotdb-system.properties.template | 38 +
.../apache/iotdb/commons/i18n/CommonMessages.java | 272 ++++--
.../apache/iotdb/commons/i18n/ConfigMessages.java | 39 +
.../apache/iotdb/commons/i18n/QueryMessages.java | 44 +
.../apache/iotdb/commons/i18n/ServiceMessages.java | 4 +
.../apache/iotdb/commons/i18n/StorageMessages.java | 38 +
.../apache/iotdb/commons/i18n/CommonMessages.java | 25 +-
.../apache/iotdb/commons/i18n/ConfigMessages.java | 33 +
.../apache/iotdb/commons/i18n/QueryMessages.java | 42 +
.../apache/iotdb/commons/i18n/ServiceMessages.java | 4 +
.../apache/iotdb/commons/i18n/StorageMessages.java | 33 +-
.../iotdb/commons/audit/AbstractAuditLogger.java | 49 +
.../apache/iotdb/commons/audit/AuditEventType.java | 1 +
.../commons/audit/UserDataTransferAuditEvent.java | 84 ++
...dler.java => UserDataTransferAuditHandler.java} | 29 +-
...geLevel.java => UserDataTransferErrorCode.java} | 13 +-
....java => UserDataTransferProtectionMethod.java} | 13 +-
.../commons/client/AbstractConfigNodeClient.java} | 981 ++++++++------------
.../commons/client/AbstractConfigNodeInfo.java} | 107 +--
.../iotdb/commons/concurrent/ThreadName.java | 2 +
.../commons/conf/AbstractIoTDBStartCheck.java | 195 ++++
.../apache/iotdb/commons/conf/CommonConfig.java | 15 +-
.../iotdb/commons/conf/CommonDescriptor.java | 4 -
.../apache/iotdb/commons/disk/FolderManager.java | 14 +
.../commons/disk/strategy/DirectoryStrategy.java | 18 +-
.../commons/disk/utils}/DirectoryChecker.java | 12 +-
.../commons/partition/SeriesPartitionTable.java | 25 +-
.../commons/pipe/agent/task/PipeTaskAgent.java | 246 +++--
.../pipe/agent/task/meta/PipeRuntimeMeta.java | 4 +-
.../commons/pipe/agent/task/meta/PipeTaskMeta.java | 4 +-
.../task/meta/PipeTemporaryMetaInCoordinator.java | 22 +-
.../pipe/receiver/PipeReceiverStatusHandler.java | 243 ++++-
.../function/TableBuiltinTableFunction.java | 18 +-
.../function/tvf/ForecastTableFunction.java | 18 +-
.../queryengine/plan/udf/ForecastTimeUtils.java | 78 ++
.../commons/queryengine/plan/udf/UDTFForecast.java | 15 +-
.../schema/column/ColumnHeaderConstant.java | 36 +
.../commons/schema/tree/AbstractTreeVisitor.java | 4 +-
.../commons/service/metric/MetricService.java | 15 +-
.../commons/service/metric}/ProcessMetrics.java | 8 +-
.../iotdb/commons/service/metric/enums/Metric.java | 12 +
.../iotdb/commons/service/metric/enums/Tag.java | 1 +
.../snapshot/ReusableBufferedOutputStream.java | 134 +++
.../commons/snapshot/SnapshotStreamFactory.java | 130 +++
.../consumer/SubscriptionProgressSnapshot.java | 278 ++++++
.../builtin/UDTFEqualSizeBucketOutlierSample.java | 115 +--
.../commons/udf/builtin/UDTFTimeDifference.java | 4 +-
.../relational/tvf/CapacityTableFunction.java | 30 +-
.../relational/tvf/CumulateTableFunction.java | 19 +-
.../builtin/relational/tvf/FFTTableFunction.java | 804 +++++++++++++++++
.../tvf/FilterTransferTableFunction.java | 315 +++++++
.../builtin/relational/tvf/HOPTableFunction.java | 41 +-
.../relational/tvf/HighPassTableFunction.java | 81 ++
.../relational/tvf/LowPassTableFunction.java | 77 ++
.../builtin/relational/tvf/M4TableFunction.java | 87 +-
.../relational/tvf/SessionTableFunction.java | 6 +-
.../relational/tvf/TumbleTableFunction.java | 6 +-
.../udf/builtin/relational/tvf/WindowTVFUtils.java | 216 +++++
.../builtin/relational/tvf/XCorrTableFunction.java | 249 ++++++
.../builtin/relational/tvf/fft/DoubleFFT_1D.java | 191 ++++
.../builtin/relational/tvf/fft/FloatFFT_1D.java | 160 ++++
.../iotdb/commons/utils/CommonDateTimeUtils.java | 20 +
.../iotdb/commons/utils/TimePartitionUtils.java | 208 +++--
.../commons/audit/AbstractAuditLoggerTest.java | 19 +
.../audit/UserDataTransferAuditEventTest.java | 57 ++
.../iotdb/commons/conf/CommonConfigTest.java | 56 ++
.../partition/SeriesPartitionTableTest.java | 43 +
.../PipeReceiverStatusHandlerTest.java | 226 +++++
.../schema/filter/impl/DeviceFilterUtilTest.java | 15 +
.../snapshot/SnapshotStreamFactoryTest.java | 307 +++++++
.../consumer/SubscriptionProgressSnapshotTest.java | 78 ++
.../relational/tvf/CapacityTableFunctionTest.java | 58 +-
.../relational/tvf/FFTTableFunctionTest.java | 518 +++++++++++
.../relational/tvf/ForecastTimeUtilsTest.java | 70 ++
.../tvf/TimeWindowTableFunctionBoundaryTest.java | 186 ++++
.../udf/builtin/relational/tvf/fft/FFT1DTest.java | 148 +++
.../commons/utils/CommonDateTimeUtilsTest.java | 33 +
.../commons/utils/TimePartitionUtilsTest.java | 160 ++++
.../db/relational/grammar/sql/RelationalSql.g4 | 2 +-
.../thrift-commons/src/main/thrift/common.thrift | 7 +
.../src/main/thrift/confignode.thrift | 24 +
.../src/main/thrift/datanode.thrift | 17 +
pom.xml | 12 +-
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-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 ++
508 files changed, 26528 insertions(+), 4981 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%)
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/edge/it/IoTDBEdgeBasicIT.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/query/recent/IoTDBDeviceEntrySpillIT.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
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/{node-commons/src/test/java/org/apache/iotdb/commons/utils/CommonDateTimeUtilsTest.java
=>
confignode/src/test/java/org/apache/iotdb/confignode/conf/ConfigNodeConfigTest.java}
(50%)
create mode 100644
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/conf/LoadStatisticsPublisherConfigTest.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/datanode/src/main/java/org/apache/iotdb/db/audit/DataNodeUserDataTransferAuditor.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/query/{QueryTimeoutRuntimeException.java
=> DeviceEntrySpillNotFoundException.java} (60%)
copy
iotdb-core/{calc-commons/src/main/java/org/apache/iotdb/calc/execution/operator/process/rowpattern/matcher/Jump.java
=>
datanode/src/main/java/org/apache/iotdb/db/pipe/processor/downsampling/DownSamplingTimeUtils.java}
(57%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/QueryDataSourceLease.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/DeviceEntryFetchContext.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/AbstractDeviceEntryMaterializer.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/dataregion/compaction/execute/utils/reader/IDataBlockReader.java
=> queryengine/plan/relational/metadata/spill/BatchDeviceEntrySource.java}
(72%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{transformation/dag/adapter/EmptyRowIterator.java
=> plan/relational/metadata/spill/DeviceEntryDataSet.java} (50%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryDataSetHandle.java
copy
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/table/ShowTablePlan.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryDataSetResult.java}
(62%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryDiskSpiller.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryFileSpillerReader.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryIOContext.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryMaterializationMemoryController.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryMaterializer.java
copy
iotdb-core/{calc-commons/src/main/java/org/apache/iotdb/calc/transformation/datastructure/iterator/ListForwardIterator.java
=>
datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryReader.java}
(74%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryRpcSegmentFetcher.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/{TableHandle.java
=> spill/DeviceEntrySegmentFetcher.java} (80%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntrySortedMaterializer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntrySpillManager.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/InMemoryDeviceEntryDataSet.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/rescon/quotas/NoopOperationQuota.java
=> queryengine/plan/relational/metadata/spill/InMemoryDeviceEntrySource.java}
(57%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/LocalSegmentDeviceEntrySource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/RemoteSegmentDeviceEntrySource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/SegmentDeviceEntrySource.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/SpilledDeviceEntryDataSet.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/dataregion/memtable/MemChunkTimeRangeUtils.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/conf/QueryThreadPoolConfigTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/processor/aggregate/window/processor/TumblingWindowingProcessorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/sink/protocol/thrift/async/IoTDBDataRegionAsyncSinkTest.java
copy
iotdb-core/{calc-commons/src/test/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/FixedIntervalFillFilterTest.java
=>
datanode/src/test/java/org/apache/iotdb/db/pipe/source/dataregion/DataRegionWatermarkInjectorTest.java}
(54%)
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
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/fragment/{FragmentInfoTest.java
=> QueryDataSourceLeaseTest.java} (50%)
copy
iotdb-core/{node-commons/src/test/java/org/apache/iotdb/commons/utils/CommonDateTimeUtilsTest.java
=>
datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/ai/InferenceOperatorTest.java}
(51%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/DeviceIteratorScanOperatorTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/subscription/ShowSubscriptionsTaskTest.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/{exception/CpuNotEnoughExceptionTest.java
=> plan/parser/ShowSubscriptionsStatementTest.java} (51%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryMaterializerTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/DeviceEntryRpcSegmentFetcherTest.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/{exception/CpuNotEnoughExceptionTest.java
=> plan/relational/metadata/spill/InMemoryDeviceEntrySourceTest.java} (54%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/spill/SegmentDeviceEntrySourceTest.java
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/scheduler/AsyncPlanNodeSenderTest.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/MemChunkTimeRangeUtilsTest.java
copy
iotdb-core/{calc-commons/src/test/java/org/apache/iotdb/calc/execution/operator/process/fill/filter/FixedIntervalFillFilterTest.java
=> datanode/src/test/java/org/apache/iotdb/db/utils/CommonUtilsTest.java} (59%)
create mode 100644
iotdb-core/metrics/interface/src/test/java/org/apache/iotdb/metrics/reporter/prometheus/PrometheusReporterTest.java
create mode 100644
iotdb-core/node-commons/src/assembly/resources/conf/edge/iotdb-system.properties
create mode 100644
iotdb-core/node-commons/src/main/i18n/en/org/apache/iotdb/commons/i18n/StorageMessages.java
copy iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/UDF.java =>
iotdb-core/node-commons/src/main/i18n/zh/org/apache/iotdb/commons/i18n/StorageMessages.java
(51%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/UserDataTransferAuditEvent.java
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/audit/{TrustedChannelFailureHandler.java
=> UserDataTransferAuditHandler.java} (56%)
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/{datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeClient.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/client/AbstractConfigNodeClient.java}
(53%)
copy
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/protocol/client/ConfigNodeInfo.java
=>
node-commons/src/main/java/org/apache/iotdb/commons/client/AbstractConfigNodeInfo.java}
(57%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/AbstractIoTDBStartCheck.java
rename
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/disk
=>
node-commons/src/main/java/org/apache/iotdb/commons/disk/utils}/DirectoryChecker.java
(94%)
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/queryengine/plan/udf/ForecastTimeUtils.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/snapshot/ReusableBufferedOutputStream.java
create mode 100644
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/snapshot/SnapshotStreamFactory.java
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/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/snapshot/SnapshotStreamFactoryTest.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/ForecastTimeUtilsTest.java
create mode 100644
iotdb-core/node-commons/src/test/java/org/apache/iotdb/commons/udf/builtin/relational/tvf/TimeWindowTableFunctionBoundaryTest.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