This is an automated email from the ASF dual-hosted git repository.

haonan pushed a change to branch speed_up_recover
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from fe189239b89 try to fix 1c3d IT
     add 24edb72009c fixing recover from wal not recode fileTimeIndex
     add c6579d67d7a Add CI for rc branches
     add 1907f4f804f Fix WAL file end marker (#13125)
     add 5d0935495f5 fix ut (#13145)
     add 53af23e7182 [Region Migration] Convert a Ratis exception to enable 
read retry #13142
     add 0cb2eb599c1 Using construction method of TimeSeriesOperand which has 
type parameter
     add 72f4fdc72eb Make fetch schema error more specific and support retry 
for TOO_MANY_CONCURRENT_QUERIES_ERROR
     add e3582cd86fd Fixed the bug that qualifiedName can not be used in device 
query
     add b8426f53a35 PipeConsensus: Avoid replicate block && Avoid transfer 
error when connector is closed. (#13146)
     add cdbac42b8b6 Fixed the bug that table compatibility check may take too 
much locks in tree dialect
     add ce0c090c553 Share device info in compaction schedule (#13150)
     add bc85409c6cf [ISSUE-13155] When having more than one pipeline 
subscription and restarting the server, the second subscription ends in a loop 
of doom (#13156)
     add 525f40ce3eb Fix getTsValue of LongLiteral and validation order
     add ef54f795902 [Region Migration] Wait for all region-related resources 
to be released before deleting (#13148)
     add 34c63cf1219 Load: Support Datanode actively listening dirs and auto 
load tsfile (#13085)
     add be1fdde9891 Pipe: Fix ProgressReportEvent may be transferred / marked 
as rate in config subtask (#13161)
     add 67642d6dd37 Added check for table TTL to ensure that it's equal to or 
greater than 0
     add 8473124404d Support constant value in select clause
     add 0840b23644c Support upgrade to v1.4 with v1.3 wal
     add ba83299237a Clear Invalid schema region when restarting (#13164)
     add 62e3ecf0c8c Fix select into bug while using alias
     add cb4281cac55 Fix insert case sensitivity of table model
     add ecd087cc238 [region migration] Ignore old region migration procedure 
during procedure framework updating #13138
     add 0a26801fbd1 Introduce some subquery plan code
     add 6d0720c8d83 Add Cpp client CI for Ubuntu 20 and 24 (#13190)
     add 1cde04af8c5 hide cli throw about history Exception (#13189)
     add 798414460d5 Merge branch 'master' of github.com:apache/iotdb into 
speed_up_recover
     add 481e34c7397 recover from wal need to recode file timeindex cache

No new revisions were added by this update.

Summary of changes:
 .github/workflows/cluster-it-1c1d.yml              |   2 +
 .github/workflows/cluster-it-1c3d.yml              |   2 +
 .github/workflows/multi-language-client.yml        |  15 +-
 .github/workflows/pipe-it-2cluster.yml             |   2 +
 .github/workflows/sonar-codecov.yml                |   2 +
 .github/workflows/unit-test.yml                    |   2 +
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |  21 ++
 .../relational/it/db/it/IoTDBInsertTableIT.java    |  48 +++
 .../it/query/recent/IoTDBNullIdQueryIT.java        |  24 +-
 .../relational/it/schema/IoTDBDeviceQueryIT.java   |   8 +
 .../iotdb/relational/it/schema/IoTDBTableIT.java   |  19 ++
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |   5 +
 .../org/apache/iotdb/cli/utils/JlineUtils.java     |   4 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   1 +
 .../pipe/execution/PipeConfigNodeSubtask.java      |   7 +-
 .../impl/region/RegionMigrateProcedure.java        |   5 +-
 .../procedure/store/ProcedureFactory.java          |   9 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   9 +
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |   2 +
 .../consensus/iot/IoTConsensusServerImpl.java      |  39 +++
 .../service/IoTConsensusRPCServiceProcessor.java   |  21 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   2 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  97 +++++++
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  86 +++++-
 .../dataregion/DataRegionStateMachine.java         |  12 +
 .../iotdb/db/exception/LoadEmptyFileException.java |   4 +-
 .../metadata/AliasAlreadyExistException.java       |   4 +-
 .../metadata/AlignedTimeseriesException.java       |   7 +-
 .../metadata/DatabaseNotSetException.java          |  12 +-
 .../metadata/IllegalParameterOfPathException.java  |   7 +-
 .../metadata/MeasurementAlreadyExistException.java |   4 +-
 .../metadata/PathAlreadyExistException.java        |   4 +-
 .../template/TemplateIncompatibleException.java    |  11 +-
 .../pipeconsensus/PipeConsensusAsyncConnector.java |  14 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   1 +
 .../execution/executor/RegionReadExecutor.java     |   7 +
 .../fragment/FragmentInstanceContext.java          |  29 +-
 .../fragment/FragmentInstanceExecution.java        |  22 +-
 .../execution/fragment/FragmentInstanceInfo.java   |  20 ++
 .../fragment/FragmentInstanceManager.java          |  55 +++-
 .../execution/load/LoadTsFileManager.java          |  10 +
 .../load/active/ActiveLoadDirScanner.java          | 175 +++++++++++
 .../load/active/ActiveLoadPendingQueue.java        |  64 ++++
 .../load/active/ActiveLoadTsFileLoader.java        | 310 ++++++++++++++++++++
 .../load/{ => limiter}/LoadTsFileRateLimiter.java  |   2 +-
 .../load/{ => splitter}/AlignedChunkData.java      |   2 +-
 .../execution/load/{ => splitter}/ChunkData.java   |   2 +-
 .../load/{ => splitter}/DeletionData.java          |   2 +-
 .../load/{ => splitter}/NonAlignedChunkData.java   |   2 +-
 .../execution/load/{ => splitter}/TsFileData.java  |   2 +-
 .../load/{ => splitter}/TsFileSplitter.java        |   2 +-
 .../relational/ColumnTransformerBuilder.java       |  20 +-
 .../schedule/queue/IndexedBlockingQueue.java       |   5 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |  11 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   | 166 ++++++-----
 .../queryengine/plan/analyze/ExpressionUtils.java  |   2 +-
 ...TsfileAnalyzer.java => LoadTsFileAnalyzer.java} |  23 +-
 .../analyze/lock/DataNodeSchemaLockManager.java    |  23 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |   7 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |  64 ++--
 .../plan/analyze/schema/SchemaValidator.java       |   3 +-
 .../execution/config/TableConfigTaskVisitor.java   |  13 +-
 .../plan/node/load/LoadTsFilePieceNode.java        |   2 +-
 .../relational/analyzer/StatementAnalyzer.java     |   4 +-
 .../plan/relational/metadata/MetadataUtil.java     |   3 +-
 .../fetcher/TableHeaderSchemaValidator.java        |   6 +-
 .../plan/relational/planner/LogicalPlanner.java    |   3 +-
 .../plan/relational/planner/PlanBuilder.java       |  24 +-
 .../plan/relational/planner/QueryPlanner.java      |  57 +++-
 .../plan/relational/planner/RelationPlanner.java   |  18 +-
 .../plan/relational/planner/SubqueryPlanner.java   | 322 +++++++++++++++++++++
 .../relational/planner/ir/ExpressionRewriter.java  |   9 +-
 .../planner/ir/ExpressionTreeRewriter.java         |   8 +
 .../relational/sql/ast/AbstractQueryDevice.java    |  22 +-
 .../plan/relational/sql/ast/CountDevice.java       |   4 +-
 .../plan/relational/sql/ast/InsertRow.java         |  10 +-
 .../plan/relational/sql/ast/InsertRows.java        |  20 +-
 .../plan/relational/sql/ast/InsertTablet.java      |   9 +-
 .../plan/relational/sql/ast/LongLiteral.java       |   2 +-
 .../plan/relational/sql/ast/ShowDevice.java        |   4 +-
 .../relational/sql/ast/WrappedInsertStatement.java |   4 +
 .../plan/relational/sql/parser/AstBuilder.java     |  16 +-
 .../scheduler/AbstractFragInsStateTracker.java     |   3 +-
 .../plan/scheduler/ClusterScheduler.java           |   4 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   6 +
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   8 +
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   6 +-
 .../plan/statement/crud/InsertBaseStatement.java   |  24 ++
 .../crud/InsertMultiTabletsStatement.java          |  28 ++
 .../crud/InsertRowsOfOneDeviceStatement.java       |  28 ++
 .../plan/statement/crud/InsertRowsStatement.java   |  28 ++
 .../java/org/apache/iotdb/db/service/DataNode.java |  59 ++--
 .../db/service/metrics/CompactionMetrics.java      |  14 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   9 +-
 .../db/storageengine/dataregion/DataRegion.java    |  59 ++--
 .../utils/CompactionTableSchemaCollector.java      |   2 +-
 .../compaction/io/CompactionTsFileWriter.java      |  22 +-
 ...Summary.java => CompactionScheduleContext.java} |  28 +-
 .../compaction/schedule/CompactionScheduler.java   |  47 +--
 .../constant/InnerSequenceCompactionSelector.java  |   4 +-
 .../InnerUnsequenceCompactionSelector.java         |   4 +-
 .../impl/RewriteCrossSpaceCompactionSelector.java  |  43 ++-
 .../utils/CrossSpaceCompactionCandidate.java       |  26 +-
 .../selector/utils/TsFileResourceCandidate.java    |  13 +-
 .../dataregion/memtable/AbstractMemTable.java      |  47 +++
 .../dataregion/memtable/TsFileProcessor.java       |   3 +-
 .../storageengine/dataregion/tsfile/TsFileID.java  |   6 +-
 .../dataregion/tsfile/TsFileManager.java           |   6 +-
 .../timeindex/FileTimeIndexCacheRecorder.java      |  26 +-
 .../tsfile/timeindex/PlainDeviceTimeIndex.java     |  23 +-
 .../dataregion/wal/buffer/WALEntry.java            |   3 +
 .../dataregion/wal/buffer/WALEntryType.java        |   7 +-
 .../dataregion/wal/io/ILogWriter.java              |  13 +
 .../storageengine/dataregion/wal/io/LogWriter.java |  11 +-
 .../dataregion/wal/io/WALInputStream.java          |   6 +-
 .../storageengine/dataregion/wal/io/WALReader.java |   3 +
 .../storageengine/dataregion/wal/io/WALWriter.java |  13 +-
 .../file/AbstractTsFileRecoverPerformer.java       |   5 +
 .../file/UnsealedTsFileRecoverPerformer.java       |   3 +
 .../agent/SubscriptionConsumerAgent.java           |   1 -
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   3 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |   3 +
 .../iotdb/db/storageengine/dataregion/TTLTest.java |   6 +-
 ...eCompactionWithFastPerformerValidationTest.java |   2 +-
 .../cross/InsertionCrossSpaceCompactionTest.java   |   4 +-
 .../inner/InnerCompactionSchedulerTest.java        |   8 +-
 .../repair/RepairUnsortedFileCompactionTest.java   |   8 +-
 .../TableModelFastCompactionPerformerTest.java     |   4 +-
 ...TableModelReadChunkCompactionPerformerTest.java |   7 +-
 ...TableModelReadPointCompactionPerformerTest.java |   4 +-
 .../wal/compression/WALCompressionTest.java        |   4 +
 .../wal/recover/WALRecoverManagerTest.java         |  82 ++++++
 .../wal/recover/WALRepairWriterTest.java           |  10 +-
 .../src/test/resources/oldwal/1723544967972-1-0-0  | Bin 0 -> 237 bytes
 .../datanode/src/test/resources/oldwal/_0-0-0.wal  | Bin 0 -> 265150 bytes
 .../src/test/resources/oldwal/_0.checkpoint        | Bin 0 -> 533 bytes
 .../datanode/src/test/resources/oldwal/_1-0-0.wal  | Bin 0 -> 259747 bytes
 .../datanode/src/test/resources/oldwal/_2-0-0.wal  | Bin 0 -> 36948 bytes
 .../datanode/src/test/resources/oldwal/_3-0-1.wal  | Bin 0 -> 513 bytes
 .../conf/iotdb-system.properties.template          |  44 ++-
 .../iotdb/commons/concurrent/ThreadName.java       |   6 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   2 +
 .../commons/exception/IllegalPathException.java    |  14 +-
 .../exception/IllegalPrivilegeException.java       |  11 +-
 .../iotdb/commons/exception/IoTDBException.java    |   7 +-
 .../commons/pipe/event/ProgressReportEvent.java    |   5 +
 .../apache/iotdb/commons/utils/StatusUtils.java    |   1 +
 .../src/main/thrift/iotconsensus.thrift            |   9 +
 .../src/main/thrift/datanode.thrift                |   1 +
 149 files changed, 2533 insertions(+), 455 deletions(-)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/active/ActiveLoadDirScanner.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/active/ActiveLoadPendingQueue.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/active/ActiveLoadTsFileLoader.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => limiter}/LoadTsFileRateLimiter.java (98%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/AlignedChunkData.java (99%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/ChunkData.java (97%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/DeletionData.java (97%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/NonAlignedChunkData.java (99%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/TsFileData.java (95%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/{
 => splitter}/TsFileSplitter.java (99%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/{LoadTsfileAnalyzer.java
 => LoadTsFileAnalyzer.java} (97%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SubqueryPlanner.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/{CompactionScheduleSummary.java
 => CompactionScheduleContext.java} (80%)
 create mode 100644 
iotdb-core/datanode/src/test/resources/oldwal/1723544967972-1-0-0
 create mode 100644 iotdb-core/datanode/src/test/resources/oldwal/_0-0-0.wal
 create mode 100644 iotdb-core/datanode/src/test/resources/oldwal/_0.checkpoint
 create mode 100644 iotdb-core/datanode/src/test/resources/oldwal/_1-0-0.wal
 create mode 100644 iotdb-core/datanode/src/test/resources/oldwal/_2-0-0.wal
 create mode 100644 iotdb-core/datanode/src/test/resources/oldwal/_3-0-1.wal

Reply via email to