This is an automated email from the ASF dual-hosted git repository.
bensonchou 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 14048939836 Fix some problems of FastCompactionPerformer (#11743)
14048939836 is described below
commit 14048939836448b8abf9ee2b46f2cdfc1a04d1a8
Author: shuwenwei <[email protected]>
AuthorDate: Mon Dec 18 21:59:54 2023 +0800
Fix some problems of FastCompactionPerformer (#11743)
* skip seal page if can not flush
* fix metric bug
---
.../execute/utils/writer/AbstractInnerCompactionWriter.java | 6 ++++--
.../execute/utils/writer/FastInnerCompactionWriter.java | 8 --------
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/AbstractInnerCompactionWriter.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/AbstractInnerCompactionWriter.java
index f697415cca6..44144fe2cd0 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/AbstractInnerCompactionWriter.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/AbstractInnerCompactionWriter.java
@@ -51,13 +51,15 @@ public abstract class AbstractInnerCompactionWriter extends
AbstractCompactionWr
/
IoTDBDescriptor.getInstance().getConfig().getCompactionThreadCount()
*
IoTDBDescriptor.getInstance().getConfig().getChunkMetadataSizeProportion());
boolean enableMemoryControl =
IoTDBDescriptor.getInstance().getConfig().isEnableMemControl();
+ this.targetResource = targetFileResource;
this.fileWriter =
new CompactionTsFileWriter(
targetFileResource.getTsFile(),
enableMemoryControl,
sizeForFileWriter,
- CompactionType.INNER_UNSEQ_COMPACTION);
- this.targetResource = targetFileResource;
+ targetResource.isSeq()
+ ? CompactionType.INNER_SEQ_COMPACTION
+ : CompactionType.INNER_UNSEQ_COMPACTION);
isEmptyFile = true;
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/FastInnerCompactionWriter.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/FastInnerCompactionWriter.java
index 2fb6db7aaca..45ef004315d 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/FastInnerCompactionWriter.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/FastInnerCompactionWriter.java
@@ -128,10 +128,6 @@ public class FastInnerCompactionWriter extends
AbstractInnerCompactionWriter {
boolean isUnsealedPageOverThreshold =
chunkWriters[subTaskId].checkIsUnsealedPageOverThreshold(
pageSizeLowerBoundInCompaction,
pagePointNumLowerBoundInCompaction, true);
- if (isUnsealedPageOverThreshold) {
- // seal page
- chunkWriters[subTaskId].sealCurrentPage();
- }
if (!isUnsealedPageOverThreshold
|| !checkIsAlignedPageLargeEnough(timePageHeader, valuePageHeaders)) {
// there is unsealed page or current page is not large enough , then
deserialize the page
@@ -164,10 +160,6 @@ public class FastInnerCompactionWriter extends
AbstractInnerCompactionWriter {
boolean isUnsealedPageOverThreshold =
chunkWriters[subTaskId].checkIsUnsealedPageOverThreshold(
pageSizeLowerBoundInCompaction,
pagePointNumLowerBoundInCompaction, true);
- if (isUnsealedPageOverThreshold) {
- // seal page
- chunkWriters[subTaskId].sealCurrentPage();
- }
if (!isUnsealedPageOverThreshold || !checkIsPageLargeEnough(pageHeader)) {
// there is unsealed page or current page is not large enough , then
deserialize the page
return false;