This is an automated email from the ASF dual-hosted git repository.
ericpai 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 6e7e7e22e3 [IOTDB-3961] Fix bug of Tsfile compact (#6770)
6e7e7e22e3 is described below
commit 6e7e7e22e313a0f97aec0046b3ad39647b360cb4
Author: Jamber <[email protected]>
AuthorDate: Fri Jul 29 14:36:30 2022 +0800
[IOTDB-3961] Fix bug of Tsfile compact (#6770)
---
docs/UserGuide/Maintenance-Tools/Metric-Tool.md | 2 +-
docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 2 +-
.../db/engine/compaction/CompactionWorker.java | 34 ++++++++++++----------
.../recorder/CompactionMetricsRecorder.java | 2 +-
4 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
index bd3f6079fb..a1cb9ef531 100644
--- a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -96,7 +96,7 @@ Next, we will choose Prometheus format data as samples to
describe each kind of
| cost_task_seconds_sum | name="inner_compaction/cross_compaction/flush"
| important | The total cost seconds of all tasks
till now | cost_task_seconds_sum{name="flush",} 0.363
|
| data_written | name="compaction", <br
/>type="aligned/not-aligned/total" | important | The size
of data written in compaction |
data_written{name="compaction",type="total",} 10240
|
| data_read | name="compaction"
| important | The size of data read in compaction
| data_read={name="compaction",} 10240
|
-| compaction_task_count | name = "inner_compaction/cross_compaction",
type="sequence/unsequence/total" | important | The number of compaction task
|
compaction_task_count{name="inner_compaction",type="sequence",} 1
|
+| compaction_task_count | name = "inner_compaction/cross_compaction",
type="sequence/unsequence/cross" | important | The number of compaction task
|
compaction_task_count{name="inner_compaction",type="sequence",} 1
|
#### 4.3.3. Memory Usage
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
index 99327a3024..b18dbb6e56 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -95,7 +95,7 @@ IoTDB对外提供JMX和Prometheus格式的监控指标,对于JMX,可以通
| cost_task_seconds_sum | name="inner_compaction/cross_compaction/flush"
| important | 任务累计耗时(s) |
cost_task_seconds_sum{name="flush",} 0.363
|
| data_written | name="compaction", <br
/>type="aligned/not-aligned/total" | important | 合并文件时写入量
| data_written{name="compaction",type="total",} 10240
|
| data_read | name="compaction"
| important | 合并文件时的读取量 |
data_read={name="compaction",} 10240
|
-| compaction_task_count | name = "inner_compaction/cross_compaction",
type="sequence/unsequence/total" | important | 合并任务个数 |
compaction_task_count{name="inner_compaction",type="sequence",} 1
|
+| compaction_task_count | name = "inner_compaction/cross_compaction",
type="sequence/unsequence/cross" | important | 合并任务个数 |
compaction_task_count{name="inner_compaction",type="sequence",} 1
|
#### 4.3.3. 内存占用
diff --git
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionWorker.java
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionWorker.java
index 86ef4b74a8..c9dc58098c 100644
---
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionWorker.java
+++
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/CompactionWorker.java
@@ -47,23 +47,27 @@ public class CompactionWorker implements Runnable {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
- AbstractCompactionTask task = null;
try {
- task = compactionTaskQueue.take();
- } catch (InterruptedException e) {
- log.warn("CompactionThread-{} terminates because interruption",
threadId);
- return;
- }
- if (task != null) {
- // add metrics
- CompactionMetricsRecorder.recordTaskInfo(
- task, CompactionTaskStatus.POLL_FROM_QUEUE,
compactionTaskQueue.size());
- if (task.checkValidAndSetMerging()) {
- CompactionTaskSummary summary = task.getSummary();
- CompactionTaskFuture future = new CompactionTaskFuture(summary);
- CompactionTaskManager.getInstance().recordTask(task, future);
- task.start();
+ AbstractCompactionTask task = null;
+ try {
+ task = compactionTaskQueue.take();
+ } catch (InterruptedException e) {
+ log.warn("CompactionThread-{} terminates because interruption",
threadId);
+ return;
+ }
+ if (task != null) {
+ // add metrics
+ CompactionMetricsRecorder.recordTaskInfo(
+ task, CompactionTaskStatus.POLL_FROM_QUEUE,
compactionTaskQueue.size());
+ if (task.checkValidAndSetMerging()) {
+ CompactionTaskSummary summary = task.getSummary();
+ CompactionTaskFuture future = new CompactionTaskFuture(summary);
+ CompactionTaskManager.getInstance().recordTask(task, future);
+ task.start();
+ }
}
+ } catch (Throwable t) {
+ log.error("CompactionWorker.run(), Exception.", t);
}
}
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
index 9e4ec16328..b9482f2ff5 100644
---
a/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
+++
b/server/src/main/java/org/apache/iotdb/db/service/metrics/recorder/CompactionMetricsRecorder.java
@@ -166,7 +166,7 @@ public class CompactionMetricsRecorder {
Tag.NAME.toString(),
"cross_compaction",
Tag.TYPE.toString(),
- "total");
+ "cross");
}
break;
default: