This is an automated email from the ASF dual-hosted git repository.
marklau99 pushed a commit to branch rel/1.0
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/1.0 by this push:
new acce7c2e83 [To Rel/1.0][Metrics][IOTDB-5288][IOTDB-5163] Fix the file
metrics is wrong (#8812)
acce7c2e83 is described below
commit acce7c2e837cff13a90109f45fbe16cd05f8632a
Author: Liu Xuxin <[email protected]>
AuthorDate: Tue Jan 10 19:10:48 2023 +0800
[To Rel/1.0][Metrics][IOTDB-5288][IOTDB-5163] Fix the file metrics is wrong
(#8812)
---
.../execute/task/CrossSpaceCompactionTask.java | 27 +++++++++++-----------
.../execute/task/InnerSpaceCompactionTask.java | 26 +++++++++++----------
2 files changed, 28 insertions(+), 25 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..9ed6250f70 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
@@ -223,16 +223,6 @@ public class InnerSpaceCompactionTask extends
AbstractCompactionTask {
selectedTsFileResourceList, storageGroupName + "-" + dataRegionId);
CompactionUtils.deleteModificationForSourceFile(
selectedTsFileResourceList, storageGroupName + "-" + dataRegionId);
- TsFileMetricManager.getInstance()
- .deleteFile(totalSizeOfDeletedFile, sequence,
selectedTsFileResourceList.size());
- // inner space compaction task has only one target file
- if (targetTsFileList.get(0) != null) {
- TsFileMetricManager.getInstance()
- .addFile(targetTsFileList.get(0).getTsFile().length(), sequence);
-
- // set target resources to CLOSED, so that they can be selected to
compact
- targetTsFileList.get(0).setStatus(TsFileResourceStatus.CLOSED);
- }
if (performer instanceof FastCompactionPerformer) {
SubCompactionTaskSummary subTaskSummary =
@@ -248,6 +238,10 @@ public class InnerSpaceCompactionTask extends
AbstractCompactionTask {
subTaskSummary.PAGE_FAKE_OVERLAP);
}
+ if (logFile.exists()) {
+ FileUtils.delete(logFile);
+ }
+
double costTime = (System.currentTimeMillis() - startTime) / 1000.0d;
LOGGER.info(
"{}-{} [Compaction] InnerSpaceCompaction task finishes successfully,
target file is {},"
@@ -258,9 +252,17 @@ public class InnerSpaceCompactionTask extends
AbstractCompactionTask {
costTime,
((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
- if (logFile.exists()) {
- FileUtils.delete(logFile);
+ // inner space compaction task has only one target file
+ if (targetTsFileList.get(0) != null) {
+ TsFileMetricManager.getInstance()
+ .addFile(targetTsFileList.get(0).getTsFile().length(), sequence);
+
+ // set target resources to CLOSED, so that they can be selected to
compact
+ targetTsFileList.get(0).setStatus(TsFileResourceStatus.CLOSED);
}
+ TsFileMetricManager.getInstance()
+ .deleteFile(totalSizeOfDeletedFile, sequence,
selectedTsFileResourceList.size());
+
} catch (Throwable throwable) {
// catch throwable to handle OOM errors
if (!(throwable instanceof InterruptedException)) {