You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2019/11/22 15:32:59 UTC

[incubator-iotdb] branch dev_new_merge_strategy updated: add more logs

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

jiangtian pushed a commit to branch dev_new_merge_strategy
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/dev_new_merge_strategy by this push:
     new 3e236c8  add more logs
3e236c8 is described below

commit 3e236c8ade503e522b32600f27225265f2f7fa24
Author: jt2594838 <jt...@163.com>
AuthorDate: Fri Nov 22 23:32:47 2019 +0800

    add more logs
---
 .../org/apache/iotdb/db/engine/merge/BaseFileSelector.java     |  2 +-
 .../engine/merge/squeeze/selector/SqueezeMaxFileSelector.java  | 10 +++++++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/BaseFileSelector.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/BaseFileSelector.java
index 42916d1..c244a99 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/BaseFileSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/BaseFileSelector.java
@@ -62,7 +62,7 @@ public abstract class BaseFileSelector implements IMergeFileSelector{
   protected int seqSelectedNum;
 
   protected TmpSelectedSeqIterable tmpSelectedSeqIterable;
-  protected long startTime = System.currentTimeMillis();
+  protected long startTime = 0;
   protected long timeConsumption = 0;
   protected long timeLimit = 0;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/selector/SqueezeMaxFileSelector.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/selector/SqueezeMaxFileSelector.java
index a5f5538..cbf1748 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/selector/SqueezeMaxFileSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/squeeze/selector/SqueezeMaxFileSelector.java
@@ -68,14 +68,17 @@ public class SqueezeMaxFileSelector extends BaseFileSelector {
     tmpFirstOverlapIdx = Integer.MAX_VALUE;
     tmpLastOverlapIdx = Integer.MIN_VALUE;
 
+    logger.info("Select using tight bound:{}", useTightBound);
     super.selectByUnseq(useTightBound);
     logger.info("After selecting by unseq, first seq index:{}, last seq index:{}", firstOverlapIdx, lastOverlapIdx);
     if (firstOverlapIdx <= lastOverlapIdx) {
       // selectByUnseq has found candidates, check if we can extend the selection
+      logger.info("Try extending the seq files");
       extendCurrentSelection(useTightBound);
       logger.info("After seq extension, first seq index:{}, last seq index:{}", firstOverlapIdx, lastOverlapIdx);
     } else {
       // try selecting only seq files as candidates
+      logger.info("Try selecting only seq files");
       selectBySeq(useTightBound);
       logger.info("After seq selection, first seq index:{}, last seq index:{}", firstOverlapIdx, lastOverlapIdx);
     }
@@ -88,11 +91,13 @@ public class SqueezeMaxFileSelector extends BaseFileSelector {
     for (int i = 0; i < resource.getSeqFiles().size() - 1 && timeConsumption < timeLimit; i ++) {
       // try to find candidates starting from i
       TsFileResource seqFile = resource.getSeqFiles().get(i);
+      logger.debug("Try selecting seq file {}/{}, {}", i, resource.getSeqFiles().size() - 1, seqFile);
       long fileCost = calculateSeqFileCost(seqFile, useTightBound);
       if (fileCost < memoryBudget) {
         firstOverlapIdx = i;
         lastOverlapIdx = i;
         totalCost = fileCost;
+        logger.debug("Seq file {} can fit memory, search from it", seqFile);
         extendCurrentSelection(useTightBound);
         if (lastOverlapIdx > firstOverlapIdx) {
           // if candidates starting from i are found, return
@@ -101,7 +106,10 @@ public class SqueezeMaxFileSelector extends BaseFileSelector {
           totalCost = 0;
           firstOverlapIdx = Integer.MAX_VALUE;
           lastOverlapIdx = Integer.MIN_VALUE;
+          logger.debug("The next file of {} cannot fit memory together, search the next file", seqFile);
         }
+      } else {
+        logger.info("File {} cannot fie memory {}/{}", seqFile, fileCost, memoryBudget);
       }
       timeConsumption = System.currentTimeMillis() - startTime;
     }
@@ -112,8 +120,8 @@ public class SqueezeMaxFileSelector extends BaseFileSelector {
   private void extendCurrentSelection(boolean useTightBound) throws IOException {
     for (int i = lastOverlapIdx + 1; i < resource.getSeqFiles().size() && timeConsumption < timeLimit; i++) {
       TsFileResource seqFile = resource.getSeqFiles().get(i);
-      long fileCost = calculateSeqFileCost(seqFile, useTightBound);
       logger.debug("Try extending seq file {}", seqFile);
+      long fileCost = calculateSeqFileCost(seqFile, useTightBound);
 
       if (fileCost + totalCost < memoryBudget) {
         maxSeqFileCost = tempMaxSeqFileCost;