You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2023/01/10 08:17:40 UTC
[iotdb] 01/01: [IOTDB-5288][IOTDB-5163] Fix the file metrics is wrong (#8805)
This is an automated email from the ASF dual-hosted git repository.
marklau99 pushed a commit to branch IOTDB-5288-1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8f4f39e53cafda1a894929d8aee210fe348a1136
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Tue Jan 10 15:52:01 2023 +0800
[IOTDB-5288][IOTDB-5163] Fix the file metrics is wrong (#8805)
(cherry picked from commit 8e40479c42d8f460907a40e335a0d91994f2bcd6)
---
.../execute/task/CrossSpaceCompactionTask.java | 27 +++++++++++-----------
.../execute/task/InnerSpaceCompactionTask.java | 2 +-
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
index ddae4928bc..a801d32664 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/CrossSpaceCompactionTask.java
@@ -184,19 +184,6 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
long sequenceFileSize = deleteOldFiles(selectedSequenceFiles);
long unsequenceFileSize = deleteOldFiles(selectedUnsequenceFiles);
- TsFileMetricManager.getInstance()
- .deleteFile(sequenceFileSize, true, selectedSequenceFiles.size());
- TsFileMetricManager.getInstance()
- .deleteFile(unsequenceFileSize, false, selectedUnsequenceFiles.size());
-
- for (TsFileResource targetResource : targetTsfileResourceList) {
- if (targetResource != null) {
- TsFileMetricManager.getInstance().addFile(targetResource.getTsFileSize(), true);
-
- // set target resources to CLOSED, so that they can be selected to compact
- targetResource.setStatus(TsFileResourceStatus.CLOSED);
- }
- }
CompactionUtils.deleteCompactionModsFile(selectedSequenceFiles, selectedUnsequenceFiles);
@@ -216,6 +203,20 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
subTaskSummary.PAGE_OVERLAP_OR_MODIFIED,
subTaskSummary.PAGE_FAKE_OVERLAP);
}
+
+ // update the metrics finally in case of any exception occurs
+ for (TsFileResource targetResource : targetTsfileResourceList) {
+ if (targetResource != null) {
+ TsFileMetricManager.getInstance().addFile(targetResource.getTsFileSize(), true);
+
+ // set target resources to CLOSED, so that they can be selected to compact
+ targetResource.setStatus(TsFileResourceStatus.CLOSED);
+ }
+ }
+ TsFileMetricManager.getInstance()
+ .deleteFile(sequenceFileSize, true, selectedSequenceFiles.size());
+ TsFileMetricManager.getInstance()
+ .deleteFile(unsequenceFileSize, false, selectedUnsequenceFiles.size());
long costTime = (System.currentTimeMillis() - startTime) / 1000;
LOGGER.info(
"{}-{} [Compaction] CrossSpaceCompaction task finishes successfully, time cost is {} s, compaction speed is {} MB/s",
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
index 2eb0683f4f..fccd39b781 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/execute/task/InnerSpaceCompactionTask.java
@@ -256,7 +256,7 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
dataRegionId,
targetTsFileResource.getTsFile().getName(),
costTime,
- ((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
+ selectedFileSize / 1024.0d / 1024.0d / costTime);
if (logFile.exists()) {
FileUtils.delete(logFile);