[ 
https://issues.apache.org/jira/browse/DRILL-5457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16030513#comment-16030513
 ] 

ASF GitHub Bot commented on DRILL-5457:
---------------------------------------

Github user Ben-Zvi commented on a diff in the pull request:

    https://github.com/apache/drill/pull/822#discussion_r119258769
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggTemplate.java
 ---
    @@ -230,15 +452,35 @@ public void setup(HashAggregate hashAggrConfig, 
HashTableConfig htConfig, Fragme
           throw new IllegalArgumentException("Wrong number of workspace 
variables.");
         }
     
    -//    this.context = context;
    +    this.context = context;
         this.stats = stats;
    -    this.allocator = allocator;
    +    this.allocator = oContext.getAllocator();
    +    this.oContext = oContext;
         this.incoming = incoming;
    -//    this.schema = incoming.getSchema();
         this.outgoing = outgoing;
         this.outContainer = outContainer;
    +    this.operatorId = hashAggrConfig.getOperatorId();
    +
    +    is2ndPhase = hashAggrConfig.getAggPhase() == 
AggPrelBase.OperatorPhase.PHASE_2of2;
    +    isTwoPhase = hashAggrConfig.getAggPhase() != 
AggPrelBase.OperatorPhase.PHASE_1of1;
    +    canSpill = isTwoPhase; // single phase can not spill
    --- End diff --
    
    Three booleans is 2^3 ( == 8), and this space is sparse as there are 
dependencies (e.g. Single phase can not spill, and has no 1st/2nd). 
      Those booleans are used only in a couple of places in the code to make a 
logical difference, hence it'll be an overkill to subclass based on these 
changes. They are used in many other places for logging messages ....


> Support Spill to Disk for the Hash Aggregate Operator
> -----------------------------------------------------
>
>                 Key: DRILL-5457
>                 URL: https://issues.apache.org/jira/browse/DRILL-5457
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Execution - Relational Operators
>    Affects Versions: 1.10.0
>            Reporter: Boaz Ben-Zvi
>            Assignee: Boaz Ben-Zvi
>             Fix For: 1.11.0
>
>
> Support gradual spilling memory to disk as the available memory gets too 
> small to allow in memory work for the Hash Aggregate Operator.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to