You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/05/07 16:34:18 UTC
[iotdb] branch master updated: add compaction speed log (#5826)
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new e76b727f98 add compaction speed log (#5826)
e76b727f98 is described below
commit e76b727f986a9eef2b72157283f94f0f47133d19
Author: Liu Xuxin <37...@users.noreply.github.com>
AuthorDate: Sun May 8 00:34:11 2022 +0800
add compaction speed log (#5826)
---
.../compaction/cross/CrossSpaceCompactionTask.java | 19 +++++++++++++++----
.../compaction/inner/InnerSpaceCompactionTask.java | 7 ++++---
2 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
index 3f3568ea82..155c9795fa 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/CrossSpaceCompactionTask.java
@@ -56,6 +56,7 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
protected List<TsFileResource> targetTsfileResourceList;
protected List<TsFileResource> holdReadLockList = new ArrayList<>();
protected List<TsFileResource> holdWriteLockList = new ArrayList<>();
+ protected long selectedFileSize = 0;
public CrossSpaceCompactionTask(
long timePartition,
@@ -95,11 +96,19 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
return;
}
+ for (TsFileResource resource : selectedSequenceFiles) {
+ selectedFileSize += resource.getTsFileSize();
+ }
+ for (TsFileResource resource : selectedUnsequenceFiles) {
+ selectedFileSize += resource.getTsFileSize();
+ }
+
LOGGER.info(
- "{} [Compaction] CrossSpaceCompactionTask start. Sequence files : {}, unsequence files : {}",
+ "{} [Compaction] CrossSpaceCompactionTask start. Sequence files : {}, unsequence files : {}, total size is {} MB",
fullStorageGroupName,
selectedSequenceFiles,
- selectedUnsequenceFiles);
+ selectedUnsequenceFiles,
+ ((double) selectedFileSize) / 1024.0 / 1024.0);
logFile =
new File(
selectedSequenceFiles.get(0).getTsFile().getParent()
@@ -142,10 +151,12 @@ public class CrossSpaceCompactionTask extends AbstractCompactionTask {
if (logFile.exists()) {
FileUtils.delete(logFile);
}
+ long costTime = (System.currentTimeMillis() - startTime) / 1000;
LOGGER.info(
- "{} [Compaction] CrossSpaceCompactionTask Costs {} s",
+ "{} [Compaction] CrossSpaceCompactionTask Costs {} s, compaction speed is {} MB/s",
fullStorageGroupName,
- (System.currentTimeMillis() - startTime) / 1000);
+ costTime,
+ ((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
}
} catch (Throwable throwable) {
// catch throwable instead of exception to handle OOM errors
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
index f2f9092084..649468660b 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionTask.java
@@ -187,13 +187,14 @@ public class InnerSpaceCompactionTask extends AbstractCompactionTask {
CompactionUtils.deleteModificationForSourceFile(
selectedTsFileResourceList, fullStorageGroupName);
- long costTime = System.currentTimeMillis() - startTime;
+ double costTime = (System.currentTimeMillis() - startTime) / 1000.0d;
LOGGER.info(
"{} [InnerSpaceCompactionTask] all compaction task finish, target file is {},"
- + "time cost is {} s",
+ + "time cost is {} s, compaction speed is {} MB/s",
fullStorageGroupName,
targetTsFileResource.getTsFile().getName(),
- costTime / 1000);
+ costTime,
+ ((double) selectedFileSize) / 1024.0d / 1024.0d / costTime);
if (logFile.exists()) {
FileUtils.delete(logFile);