Repository: kylin
Updated Branches:
  refs/heads/master 5dfda003e -> 5042a30bc


KYLIN-1585 make MAX_HBASE_FUZZY_KEYS in GTScanRangePlanner configurable


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/5042a30b
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5042a30b
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5042a30b

Branch: refs/heads/master
Commit: 5042a30bcbc51a1061d2c09365c994dceb28d44e
Parents: 5dfda00
Author: Hongbin Ma <[email protected]>
Authored: Thu Apr 14 12:17:31 2016 +0800
Committer: Hongbin Ma <[email protected]>
Committed: Thu Apr 14 12:17:31 2016 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kylin/common/KylinConfigBase.java   | 4 ++++
 .../java/org/apache/kylin/gridtable/GTScanRangePlanner.java  | 8 +++-----
 2 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/5042a30b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------
diff --git 
a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java 
b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index 712bcf7..51aa8aa 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -488,6 +488,10 @@ abstract public class KylinConfigBase implements 
Serializable {
         setProperty("kylin.query.storage.visit.planner", v);
     }
 
+    public int getQueryScanFuzzyKeyMax() {
+        return 
Integer.parseInt(this.getOptional("kylin.query.scan.fuzzykey.max","200"));
+    }
+
     public int getQueryStorageVisitScanRangeMax() {
         return 
Integer.valueOf(this.getOptional("kylin.query.storage.visit.scanrange.max", 
"1000000"));
     }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5042a30b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java
----------------------------------------------------------------------
diff --git 
a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java 
b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java
index 3f9bac0..479064c 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java
@@ -32,6 +32,7 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.debug.BackdoorToggles;
 import org.apache.kylin.common.util.ByteArray;
 import org.apache.kylin.common.util.DateFormat;
@@ -62,7 +63,6 @@ public class GTScanRangePlanner {
 
     private static final Logger logger = 
LoggerFactory.getLogger(GTScanRangePlanner.class);
 
-    private static final int MAX_SCAN_RANGES = 200;
     private static final int MAX_HBASE_FUZZY_KEYS = 100;
 
     protected int maxScanRanges;
@@ -93,7 +93,7 @@ public class GTScanRangePlanner {
     public GTScanRangePlanner(CubeSegment cubeSegment, Cuboid cuboid, 
TupleFilter filter, Set<TblColRef> dimensions, Set<TblColRef> groupbyDims, //
             Collection<FunctionDesc> metrics) {
 
-        this.maxScanRanges = MAX_SCAN_RANGES;
+        this.maxScanRanges = 
KylinConfig.getInstanceFromEnv().getQueryScanFuzzyKeyMax();
 
         this.cubeSegment = cubeSegment;
         this.cubeDesc = cubeSegment.getCubeDesc();
@@ -143,7 +143,7 @@ public class GTScanRangePlanner {
      */
     public GTScanRangePlanner(GTInfo info, Pair<ByteArray, ByteArray> 
gtStartAndEnd, TblColRef gtPartitionCol, TupleFilter gtFilter) {
 
-        this.maxScanRanges = MAX_SCAN_RANGES;
+        this.maxScanRanges = 
KylinConfig.getInstanceFromEnv().getQueryScanFuzzyKeyMax();
         this.gtInfo = info;
 
         IGTComparator comp = gtInfo.codeSystem.getComparator();
@@ -154,12 +154,10 @@ public class GTScanRangePlanner {
         //start key GTRecord compare to stop key GTRecord
         this.rangeStartEndComparator = getRangeStartEndComparator(comp);
 
-
         this.gtFilter = gtFilter;
         this.gtStartAndEnd = gtStartAndEnd;
         this.gtPartitionCol = gtPartitionCol;
     }
-    
 
     public GTScanRequest planScanRequest(boolean allowPreAggregate) {
         GTScanRequest scanRequest;

Reply via email to