This is an automated email from the ASF dual-hosted git repository. xingtanzjr pushed a commit to branch xingtanzjr/refine_cross_selection in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit a9669f5c08220fd042459c86b2bdac88b3e6a5ce Author: Jinrui.Zhang <[email protected]> AuthorDate: Thu Dec 22 14:59:44 2022 +0800 add at least 1 unseqFile be selected --- .../cross/rewrite/RewriteCrossSpaceCompactionSelector.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java index 9900d5cab6..5a6e248acc 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java @@ -186,6 +186,11 @@ public class RewriteCrossSpaceCompactionSelector implements ICrossSpaceSelector TsFileResource unseqFile, List<TsFileResource> seqFiles, long memoryCost) { + // currently, we must allow at least one unseqFile be selected to handle the situation that + // an unseqFile has huge time range but few data points. + if (taskResource.getUnseqFiles().size() == 0) { + return true; + } long totalFileSize = unseqFile.getTsFileSize(); for (TsFileResource f : seqFiles) { totalFileSize += f.getTsFileSize();
