[
https://issues.apache.org/jira/browse/DRILL-4460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15174268#comment-15174268
]
Julian Hyde commented on DRILL-4460:
------------------------------------
Falling back to external hashing would be another viable solution to the
problem. It's a little more expensive to switch from memory hashing to external
hashing when you discover that the data set is larger than you expected
(hashing uses a different data structure for external data, whereas sorting
uses essentially the same data structure)
> Provide feature that allows fall back to sort aggregation
> ---------------------------------------------------------
>
> Key: DRILL-4460
> URL: https://issues.apache.org/jira/browse/DRILL-4460
> Project: Apache Drill
> Issue Type: Improvement
> Components: Execution - Flow
> Affects Versions: 1.5.0
> Reporter: John Omernik
>
> Currently, the default setting for Drill is to use a Hash (in Memory) model
> for aggregations (set by planner.enable_hashagg = true as default). This
> works well, but it's memory dependent and an out of memory condition will
> cause a query failure. At this point, a user can alter session set
> `planner.enable_hashagg` = false and run the query again. If memory is a
> challenge again, the sort based approach will spill to disk allowing the
> query to complete (slower).
> What I am requesting is a feature, that defaults to be off (so Drill default
> behavior will be the same after this feature is added) that would allow a
> query that tried hash aggregation and failed due to out of memory to restart
> the same query with sort aggregation. Basically, allowing the query to
> succeed, it will try hash first, then go to sort. This would make for a
> better user experience in that the query would succeed. Perhaps a warning
> could be set for the user that would allow them to understand that this
> occurred, so they could just go to a sort based query by default in the
> future.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)