This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch add_keep_same_disk_when_loading_snapshot in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 5e6392af4e9dc1facf42930464f16dc5a321dc98 Merge: b5ec2cafebe b098e34d9c6 Author: Tian Jiang <[email protected]> AuthorDate: Wed Oct 15 19:41:49 2025 +0800 Merge branch 'master' into add_keep_same_disk_when_loading_snapshot # Conflicts: # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java .github/workflows/pipe-it.yml | 86 + .../iotdb/auth/it/IoTDBLoginLockManagerIT.java | 6 +- .../org/apache/iotdb/db/it/audit/AuditLogSet.java | 87 + .../iotdb/db/it/audit/IoTDBAuditLogBasicIT.java | 3337 +++++++++++++------- .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 14 + .../it/udf/IoTDBUDFIntermediateBlockSerdeIT.java | 74 + .../manual/AbstractPipeTableModelDualManualIT.java | 1 - .../manual/basic/IoTDBPipePermissionIT.java | 1 - .../manual/basic/IoTDBPipeProtocolIT.java | 1 - .../tablemodel/manual/basic/IoTDBPipeSourceIT.java | 1 - .../manual/basic/IoTDBPipeWithLoadIT.java | 1 - .../manual/enhanced/IoTDBPipeAutoConflictIT.java | 1 - .../manual/enhanced/IoTDBPipeClusterIT.java | 342 +- .../IoTDBPipeTypeConversionISessionIT.java | 114 +- .../auto/AbstractPipeDualTreeModelAutoIT.java | 1 - .../treemodel/auto/basic/IoTDBPipeProcessorIT.java | 1 - .../treemodel/auto/basic/IoTDBPipeProtocolIT.java | 1 - .../treemodel/auto/basic/IoTDBPipeSourceIT.java | 1 - .../auto/enhanced/IoTDBPipeAutoConflictIT.java | 1 - .../auto/enhanced/IoTDBPipeIdempotentIT.java | 1 - .../auto/enhanced/IoTDBPipeWithLoadIT.java | 1 - .../manual/AbstractPipeDualTreeModelManualIT.java | 1 - .../manual/IoTDBPipeMetaHistoricalIT.java | 1 - .../treemodel/manual/IoTDBPipePermissionIT.java | 1 - .../manual/IoTDBPipeTypeConversionISessionIT.java | 91 +- .../AbstractPipeTripleManualIT.java} | 57 +- .../iotdb/pipe/it/triple/IoTDBPipeForwardIT.java | 117 + .../it/session/IoTDBSessionRelationalIT.java | 44 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 4 - integration-test/src/test/resources/test-keystore | Bin 2429 -> 2710 bytes .../src/test/resources/test-truststore | Bin 1149 -> 1238 bytes .../apache/iotdb/rpc/BaseRpcTransportFactory.java | 12 +- .../iotdb/rpc/NettyTNonblockingTransport.java | 23 +- .../apache/iotdb/rpc/TElasticFramedTransport.java | 10 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 + .../ainode/core/model/sundial/modeling_sundial.py | 80 +- .../core/model/sundial/ts_generation_mixin.py | 14 +- .../ainode/core/model/timerxl/modeling_timer.py | 77 +- .../core/model/timerxl/ts_generation_mixin.py | 12 +- iotdb-core/ainode/poetry.lock | 1841 +++++------ iotdb-core/ainode/pyproject.toml | 7 +- .../consensus/request/ConfigPhysicalPlan.java | 2 + .../consensus/request/ConfigPhysicalPlanType.java | 2 + .../iotdb/confignode/manager/node/NodeManager.java | 1 + .../receiver/protocol/IoTDBConfigNodeReceiver.java | 72 +- .../pipe/source/ConfigRegionListeningQueue.java | 24 +- .../confignode/persistence/auth/AuthorInfo.java | 17 +- .../persistence/auth/AuthorPlanExecutor.java | 4 + .../persistence/executor/ConfigPlanExecutor.java | 2 + .../thrift/ConfigNodeRPCServiceProcessor.java | 7 - .../request/ConfigPhysicalPlanSerDeTest.java | 31 + .../apache/iotdb/consensus/ratis/utils/Utils.java | 6 + .../org/apache/iotdb/db/audit/DNAuditLogger.java | 66 +- .../org/apache/iotdb/db/auth/LoginLockManager.java | 29 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 27 + .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 58 +- .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 4 +- .../agent/task/subtask/sink/PipeSinkSubtask.java | 3 + .../scan/TsFileInsertionEventScanParser.java | 3 +- .../table/TsFileInsertionEventTableParser.java | 2 +- .../visitor/PipeStatementTSStatusVisitor.java | 5 - .../db/pipe/resource/memory/PipeMemoryManager.java | 6 - ...istoricalDataRegionTsFileAndDeletionSource.java | 7 +- .../schemaregion/IoTDBSchemaRegionSource.java | 7 +- .../iotdb/db/protocol/session/SessionManager.java | 4 +- .../execution/operator/window/SessionWindow.java | 13 +- .../execution/operator/window/TimeWindow.java | 9 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 3 +- .../config/executor/ClusterConfigTaskExecutor.java | 19 +- .../relational/security/AccessControlImpl.java | 52 +- .../relational/security/ITableAuthCheckerImpl.java | 39 +- .../security/TreeAccessCheckVisitor.java | 55 +- .../plan/relational/type/AuthorRType.java | 5 + .../db/queryengine/plan/statement/AuthorType.java | 106 +- .../dag/intermediate/MultiInputLayer.java | 35 +- .../SingleInputMultiReferenceLayer.java | 27 +- .../SingleInputSingleReferenceLayer.java | 27 +- .../transformation/dag/udf/UDTFExecutor.java | 2 +- .../transformation/dag/util/LayerCacheUtils.java | 5 +- .../transformation/datastructure/TVColumns.java | 7 +- .../tv/ElasticSerializableBinaryTVList.java | 3 +- .../datastructure/tv/SerializableTVList.java | 6 +- .../org/apache/iotdb/db/service/RestService.java | 2 +- .../db/storageengine/dataregion/DataRegion.java | 9 +- .../constant/CrossCompactionPerformer.java | 16 + .../constant/InnerSeqCompactionPerformer.java | 16 + .../constant/InnerUnseqCompactionPerformer.java | 16 + .../performer/impl/FastCompactionPerformer.java | 42 +- .../impl/ReadChunkCompactionPerformer.java | 48 +- .../impl/ReadPointCompactionPerformer.java | 53 +- .../RepairUnsortedFileCompactionPerformer.java | 14 +- .../task/RepairUnsortedFileCompactionTask.java | 7 +- .../task/subtask/ReadPointPerformerSubTask.java | 8 +- .../execute/utils/MultiTsFileDeviceIterator.java | 10 +- ...BatchedFastAlignedSeriesCompactionExecutor.java | 8 +- ...edReadChunkAlignedSeriesCompactionExecutor.java | 9 +- .../FirstBatchCompactionAlignedChunkWriter.java | 51 +- ...FollowingBatchCompactionAlignedChunkWriter.java | 16 +- .../fast/FastAlignedSeriesCompactionExecutor.java | 6 +- .../FastNonAlignedSeriesCompactionExecutor.java | 8 +- .../readchunk/AlignedSeriesCompactionExecutor.java | 5 +- .../ReadChunkAlignedSeriesCompactionExecutor.java | 4 +- .../readchunk/SingleSeriesCompactionExecutor.java | 9 +- .../utils/writer/AbstractCompactionWriter.java | 5 + .../writer/AbstractCrossCompactionWriter.java | 23 +- .../writer/AbstractInnerCompactionWriter.java | 30 +- .../utils/writer/FastCrossCompactionWriter.java | 16 +- .../utils/writer/FastInnerCompactionWriter.java | 20 +- .../writer/ReadPointCrossCompactionWriter.java | 14 +- .../writer/ReadPointInnerCompactionWriter.java | 20 +- .../writer/RepairUnsortedFileCompactionWriter.java | 12 +- .../compaction/io/CompactionTsFileReader.java | 17 +- .../compaction/io/CompactionTsFileWriter.java | 19 +- .../compaction/repair/RepairDataFileScanUtil.java | 4 +- .../schedule/CompactionScheduleContext.java | 23 +- .../compaction/schedule/CompactionScheduler.java | 7 +- .../estimator/AbstractCrossSpaceEstimator.java | 6 +- .../estimator/AbstractInnerSpaceEstimator.java | 11 +- .../estimator/CompactionEstimateUtils.java | 6 +- .../utils/CrossSpaceCompactionCandidate.java | 1 + .../compaction/settle/SettleRequestHandler.java | 13 +- .../compaction/tool/TsFileStatisticReader.java | 6 +- .../dataregion/memtable/AbstractMemTable.java | 10 +- .../memtable/AbstractWritableMemChunk.java | 4 + .../memtable/AlignedWritableMemChunk.java | 36 +- .../memtable/AlignedWritableMemChunkGroup.java | 9 + .../dataregion/memtable/IWritableMemChunk.java | 3 + .../memtable/IWritableMemChunkGroup.java | 3 + .../dataregion/memtable/TsFileProcessor.java | 7 +- .../dataregion/memtable/WritableMemChunk.java | 25 +- .../dataregion/memtable/WritableMemChunkGroup.java | 19 +- .../dataregion/read/control/FileReaderManager.java | 13 +- .../read/reader/chunk/MemAlignedPageReader.java | 3 + .../read/reader/chunk/MemPageReader.java | 3 + .../dataregion/utils/TsFileResourceUtils.java | 6 +- .../file/AbstractTsFileRecoverPerformer.java | 19 +- .../iotdb/db/tools/utils/TsFileSequenceScan.java | 7 +- .../apache/iotdb/db/utils/DataNodeAuthUtils.java | 6 +- .../org/apache/iotdb/db/utils/EncryptDBUtils.java | 86 + .../apache/iotdb/db/auth/LoginLockManagerTest.java | 108 +- .../load/TimeseriesMetadataIteratorTest.java | 173 + .../apache/iotdb/commons/conf/CommonConfig.java | 63 +- .../iotdb/commons/conf/CommonDescriptor.java | 3 +- .../exception/pipe/PipeNonReportException.java} | 14 +- .../iotdb/commons/pipe/config/PipeConfig.java | 53 +- .../iotdb/commons/pipe/config/PipeDescriptor.java | 20 +- .../listening/AbstractPipeListeningQueue.java | 10 +- .../pipe/receiver/PipeReceiverStatusHandler.java | 4 +- .../pipe/source/IoTDBNonDataRegionSource.java | 8 +- .../service/AbstractThriftServiceThread.java | 45 +- .../src/main/thrift/confignode.thrift | 11 +- pom.xml | 2 +- scripts/sbin/windows/start-cli-table.bat | 12 +- 153 files changed, 5595 insertions(+), 3068 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java index 11e3610e1ed,64d0dc6d214..b786f7d9247 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java @@@ -1176,8 -1181,10 +1181,13 @@@ public class IoTDBConfig private boolean includeNullValueInWriteThroughputMetric = false; ++ + private boolean keepSameDiskWhenLoadingSnapshot = false; + + private ConcurrentHashMap<String, EncryptParameter> tsFileDBToEncryptMap = + new ConcurrentHashMap<>( + Collections.singletonMap("root.__audit", new EncryptParameter("UNENCRYPTED", null))); + IoTDBConfig() {} public int getMaxLogEntriesNumPerBatch() { @@@ -4228,11 -4247,7 +4250,16 @@@ this.passwordLockTimeMinutes = passwordLockTimeMinutes; } ++ + public boolean isKeepSameDiskWhenLoadingSnapshot() { + return keepSameDiskWhenLoadingSnapshot; + } + + public void setKeepSameDiskWhenLoadingSnapshot(boolean keepSameDiskWhenLoadingSnapshot) { + this.keepSameDiskWhenLoadingSnapshot = keepSameDiskWhenLoadingSnapshot; + } ++ + public ConcurrentHashMap<String, EncryptParameter> getTSFileDBToEncryptMap() { + return tsFileDBToEncryptMap; + } }
