Repository: drill
Updated Branches:
  refs/heads/master 6d5f49830 -> 3e55fe1db


DRILL-4434: Deprecate GroupScan.enforceWidth API


Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/3e55fe1d
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/3e55fe1d
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/3e55fe1d

Branch: refs/heads/master
Commit: 3e55fe1db23e51e39043e3f366b6d1c6bfb73a9c
Parents: 6d5f498
Author: vkorukanti <venki.koruka...@gmail.com>
Authored: Wed Feb 24 14:13:21 2016 -0800
Committer: vkorukanti <venki.koruka...@gmail.com>
Committed: Wed Feb 24 14:13:21 2016 -0800

----------------------------------------------------------------------
 .../apache/drill/exec/physical/base/AbstractGroupScan.java   | 3 ++-
 .../java/org/apache/drill/exec/physical/base/GroupScan.java  | 4 ++++
 .../physical/visitor/ExcessiveExchangeIdentifier.java        | 8 ++++----
 .../org/apache/drill/exec/store/sys/SystemTableScan.java     | 6 ------
 4 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/drill/blob/3e55fe1d/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractGroupScan.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractGroupScan.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractGroupScan.java
index 77ded54..57fbd00 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractGroupScan.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/AbstractGroupScan.java
@@ -85,8 +85,9 @@ public abstract class AbstractGroupScan extends AbstractBase 
implements GroupSca
 
   @Override
   @JsonIgnore
+  @Deprecated
   public boolean enforceWidth() {
-    return false;
+    return getMinParallelizationWidth() > 1;
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/drill/blob/3e55fe1d/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/GroupScan.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/GroupScan.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/GroupScan.java
index daaa5ac..d17c337 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/GroupScan.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/physical/base/GroupScan.java
@@ -63,8 +63,12 @@ public interface GroupScan extends Scan, HasAffinity{
    * Check if GroupScan enforces width to be maximum parallelization width.
    * Currently, this is used in {@link 
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier}
    * @return if maximum width should be enforced
+   *
+   * @deprecated Use {@link #getMinParallelizationWidth()} to determine 
whether this GroupScan spans more than one
+   * fragment.
    */
   @JsonIgnore
+  @Deprecated
   public boolean enforceWidth();
 
   /**

http://git-wip-us.apache.org/repos/asf/drill/blob/3e55fe1d/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java
index cbd54be..7686d56 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/ExcessiveExchangeIdentifier.java
@@ -94,7 +94,7 @@ public class ExcessiveExchangeIdentifier extends 
BasePrelVisitor<Prel, Excessive
   class MajorFragmentStat {
     private double maxRows = 0d;
     private int maxWidth = Integer.MAX_VALUE;
-    private boolean enforceWidth = false;
+    private boolean isMultiSubScan = false;
 
     public void add(Prel prel) {
       maxRows = Math.max(prel.getRows(), maxRows);
@@ -106,13 +106,13 @@ public class ExcessiveExchangeIdentifier extends 
BasePrelVisitor<Prel, Excessive
 
     public void addScan(ScanPrel prel) {
       maxWidth = Math.min(maxWidth, 
prel.getGroupScan().getMaxParallelizationWidth());
-      enforceWidth = prel.getGroupScan().enforceWidth();
+      isMultiSubScan = prel.getGroupScan().getMinParallelizationWidth() > 1;
       add(prel);
     }
 
     public boolean isSingular() {
-      // do not remove exchanges when a scan enforces width (e.g. 
SystemTableScan)
-      if (enforceWidth) {
+      // do not remove exchanges when a scan has more than one subscans (e.g. 
SystemTableScan)
+      if (isMultiSubScan) {
         return false;
       }
 

http://git-wip-us.apache.org/repos/asf/drill/blob/3e55fe1d/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTableScan.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTableScan.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTableScan.java
index 2c3bba4..962e2c6 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTableScan.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/store/sys/SystemTableScan.java
@@ -98,12 +98,6 @@ public class SystemTableScan extends AbstractGroupScan 
implements SubScan {
     return table.isDistributed() ? plugin.getContext().getBits().size() : 1;
   }
 
-  // This enforces maximum parallelization width for distributed tables
-  @Override
-  public boolean enforceWidth() {
-    return table.isDistributed();
-  }
-
   @Override
   public long getInitialAllocation() {
     return initialAllocation;

Reply via email to