This is an automated email from the ASF dual-hosted git repository.

xingtanzjr pushed a commit to branch fix_cross_estimate_013
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 89d1f132c114df056bccb03728bc620f291eb7cc
Author: 周沛辰 <[email protected]>
AuthorDate: Wed May 10 10:30:52 2023 +0800

    [IOTDB-5818][Atmos][Compaction]Cross_space compaction of Aligned timeseries 
is stucked (#9795)
---
 .../cross/rewrite/selector/AbstractCompactionEstimator.java         | 3 ++-
 .../cross/rewrite/selector/RewriteCrossCompactionEstimator.java     | 6 +++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/AbstractCompactionEstimator.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/AbstractCompactionEstimator.java
index 51f410f3c9d..831749075de 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/AbstractCompactionEstimator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/AbstractCompactionEstimator.java
@@ -20,6 +20,7 @@ package 
org.apache.iotdb.db.engine.compaction.cross.rewrite.selector;
 
 import org.apache.iotdb.db.conf.IoTDBConfig;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.conf.adapter.CompressionRatio;
 import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
 import org.apache.iotdb.tsfile.read.TsFileSequenceReader;
 
@@ -38,7 +39,7 @@ public abstract class AbstractCompactionEstimator implements 
AutoCloseable {
 
   protected IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
 
-  protected int compressionRatio = 5;
+  protected long compressionRatio = (long) 
CompressionRatio.getInstance().getRatio() + 1;
 
   /**
    * Estimate the memory cost of compacting the unseq file and its 
corresponding overlapped seq
diff --git 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/RewriteCrossCompactionEstimator.java
 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/RewriteCrossCompactionEstimator.java
index 49998d53a5f..7a7a21cc705 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/RewriteCrossCompactionEstimator.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/selector/RewriteCrossCompactionEstimator.java
@@ -114,7 +114,11 @@ public class RewriteCrossCompactionEstimator extends 
AbstractCrossSpaceEstimator
         seqFileCost = 0;
       } else {
         // We need to multiply the compression ratio here.
-        seqFileCost = compressionRatio * concurrentSeriesNum * 
config.getTargetChunkSize();
+        seqFileCost =
+            compressionRatio
+                * seqResource.getTsFileSize()
+                * concurrentSeriesNum
+                / fileInfo.totalChunkNum;
       }
 
       if (seqFileCost > maxCostOfReadingSeqFile) {

Reply via email to