[ https://issues.apache.org/jira/browse/DRILL-5457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16030493#comment-16030493 ]
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_r119256700 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggTemplate.java --- @@ -204,24 +293,157 @@ private int getNumPendingOutput() { @RuntimeOverridden public void setupInterior(@Named("incoming") RecordBatch incoming, @Named("outgoing") RecordBatch outgoing, - @Named("aggrValuesContainer") VectorContainer aggrValuesContainer) { + @Named("aggrValuesContainer") VectorContainer aggrValuesContainer) throws SchemaChangeException { } @RuntimeOverridden - public void updateAggrValuesInternal(@Named("incomingRowIdx") int incomingRowIdx, @Named("htRowIdx") int htRowIdx) { + public void updateAggrValuesInternal(@Named("incomingRowIdx") int incomingRowIdx, @Named("htRowIdx") int htRowIdx) throws SchemaChangeException{ } @RuntimeOverridden - public void outputRecordValues(@Named("htRowIdx") int htRowIdx, @Named("outRowIdx") int outRowIdx) { + public void outputRecordValues(@Named("htRowIdx") int htRowIdx, @Named("outRowIdx") int outRowIdx) throws SchemaChangeException{ } } + /** + * An internal class to replace "incoming" - instead scanning a spilled partition file + */ + public class SpilledRecordbatch implements CloseableRecordBatch { --- End diff -- Moved out the inner class into an independent class. (The "static inner class" approach failed due to a possible bug with Drill bytecode fixup -- the first parameter in the constructor was eliminated in the generated code). Extending the record batch interface was intentional - this leads to a very neat handling of the batch in the Hash Agg -- no code change, just like handling the batches incoming from upstream. > 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)