You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2024/01/24 07:40:58 UTC

(iotdb) 01/01: Merge remote-tracking branch 'origin/master' into ty/HA

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

jackietien pushed a commit to branch ty/HA
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 7a41096e2833c9d560dd85741d7d527fc7aa0f5c
Merge: ebd6dbb9a58 7f7285cf62e
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Wed Jan 24 15:40:48 2024 +0800

    Merge remote-tracking branch 'origin/master' into ty/HA

 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   9 +
 .../iotdb/confignode/manager/ConfigManager.java    |   8 +-
 .../iotdb/confignode/service/ConfigNode.java       |  12 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  12 +-
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |   5 +
 .../db/pipe/agent/task/PipeTaskDataNodeAgent.java  |  77 +++
 .../pipe/extractor/IoTDBDataRegionExtractor.java   |  11 +
 .../PipeRealtimeDataRegionHybridExtractor.java     |   9 +-
 .../iotdb/db/pipe/metric/PipeExtractorMetrics.java |   7 +-
 .../subtask/connector/PipeConnectorSubtask.java    |   8 +-
 .../db/queryengine/common/MPPQueryContext.java     |  10 +-
 .../queryengine/load/LoadTsFileMemoryManager.java  |   5 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |   5 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   9 +-
 .../plan/analyze/LoadTsfileAnalyzer.java           |   9 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |   6 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   | 115 ++--
 .../java/org/apache/iotdb/db/service/DataNode.java |  24 +-
 .../db/storageengine/dataregion/DataRegion.java    |   6 +-
 .../task/InsertionCrossSpaceCompactionTask.java    |   5 +
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |   1 -
 .../InsertionCrossCompactionTaskResource.java      |  25 +
 .../dataregion/memtable/AbstractMemTable.java      |  18 +
 .../dataregion/memtable/IMemTable.java             |   2 +
 .../dataregion/memtable/TsFileProcessor.java       |   5 +
 .../dataregion/wal/buffer/WALBuffer.java           |  57 +-
 .../wal/checkpoint/CheckpointManager.java          |  50 +-
 .../dataregion/wal/checkpoint/MemTableInfo.java    |  22 +-
 .../dataregion/wal/io/WALByteBufReader.java        |  26 +-
 .../dataregion/wal/io/WALMetaData.java             |  76 ++-
 .../storageengine/dataregion/wal/node/WALNode.java | 198 +++----
 .../dataregion/wal/recover/WALNodeRecoverTask.java |  41 +-
 .../storageengine/dataregion/DataRegionTest.java   |   4 +
 ...nkCompactionPerformerWithAlignedSeriesTest.java |  53 ++
 .../dataregion/wal/node/WALEntryHandlerTest.java   |  13 +-
 .../wal/node/WalDeleteOutdatedNewTest.java         | 585 +++++++++++++++++++++
 .../wal/recover/WALRecoverWriterTest.java          |   9 +-
 .../resources/conf/iotdb-common.properties         |  20 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  28 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |  10 +
 .../commons/pipe/agent/task/PipeTaskAgent.java     |   4 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |  15 +-
 42 files changed, 1301 insertions(+), 313 deletions(-)

diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
index 14b667bdf0d,2f808350717..6c8c2d15bf9
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
@@@ -162,15 -160,11 +162,16 @@@ public class Coordinator 
          queryContext.setTimeOut(Long.MAX_VALUE);
        }
        execution.start();
 -      return execution.getStatus();
 +      ExecutionResult result = execution.getStatus();
 +      if (!execution.isQuery() && result.status != null && needRetry(result.status)) {
 +        // if it's write request and the result status needs to retry
 +        result.status.setNeedRetry(true);
 +      }
 +      return result;
      } finally {
-       if (queryContext != null && queryContext.getAcquiredLock()) {
-         DataNodeSchemaCache.getInstance().releaseInsertLock();
+       int lockNums = queryContext.getAcquiredLockNum();
+       if (queryContext != null && lockNums > 0) {
+         for (int i = 0; i < lockNums; i++) DataNodeSchemaCache.getInstance().releaseInsertLock();
        }
      }
    }