This is an automated email from the ASF dual-hosted git repository. sunzesong pushed a commit to branch pr_1758 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 976a9e1cbf85c1e6eb117963ac9820a1a9ced456 Author: 张凌哲 <[email protected]> AuthorDate: Mon Oct 19 16:14:33 2020 +0800 update compaction --- .../org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java | 1 - .../db/engine/tsfilemanagement/level/LevelTsFileManagement.java | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java index 94cf00f..245a3ff 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java @@ -650,7 +650,6 @@ public class TsFileProcessor { private void endFile() throws IOException, TsFileProcessorException { long closeStartTime = System.currentTimeMillis(); -// updateDeviceChunkPointSizeCache(); tsFileResource.serialize(); writer.endFile(); tsFileResource.cleanCloseFlag(); diff --git a/server/src/main/java/org/apache/iotdb/db/engine/tsfilemanagement/level/LevelTsFileManagement.java b/server/src/main/java/org/apache/iotdb/db/engine/tsfilemanagement/level/LevelTsFileManagement.java index d0e5d2b..526b46d 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/tsfilemanagement/level/LevelTsFileManagement.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/tsfilemanagement/level/LevelTsFileManagement.java @@ -431,14 +431,18 @@ public class LevelTsFileManagement extends TsFileManagement { @Override public void forkCurrentFileList(long timePartition) { - forkTsFileList( + Pair<Double, Double> seqStatisticsPair = forkTsFileList( forkedSequenceTsFileResources, sequenceTsFileResources.computeIfAbsent(timePartition, this::newSequenceTsFileResources), maxLevelNum); - forkTsFileList( + forkedSeqListPointNum = seqStatisticsPair.left; + forkedSeqListMeasurementSize = seqStatisticsPair.right; + Pair<Double, Double> unSeqStatisticsPair = forkTsFileList( forkedUnSequenceTsFileResources, unSequenceTsFileResources .computeIfAbsent(timePartition, this::newUnSequenceTsFileResources), maxUnseqLevelNum); + forkedUnSeqListPointNum = unSeqStatisticsPair.left; + forkedUnSeqListMeasurementSize = unSeqStatisticsPair.right; } private Pair<Double, Double> forkTsFileList( @@ -538,6 +542,7 @@ public class LevelTsFileManagement extends TsFileManagement { } else { for (int i = 0; i < currMaxLevel - 1; i++) { if (currMaxFileNumInEachLevel <= mergeResources.get(i).size()) { + //level is numbered from 0 if (!sequence && i == currMaxLevel - 2) { // do not merge current unseq file level to upper level and just merge all of them to seq file merge(isForceFullMerge, getTsFileList(true), mergeResources.get(i), Long.MAX_VALUE);
