[ https://issues.apache.org/jira/browse/HIVE-4068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13585722#comment-13585722 ]
Phabricator commented on HIVE-4068: ----------------------------------- njain has commented on the revision "HIVE-4068 [jira] Size of aggregation buffer which uses non-primitive type is not estimated correctly". I was thinking of a abstract class --- AbstractAggregationBuffer with the annotation. The default implementation of estimate() is empty All known aggregationBuffers extend AbstractAB. if (agg instanceof GenericUDAFEvaluator.EstimableBuffer) { return ((GenericUDAFEvaluator.EstimableBuffer)agg).estimate(); } change instanceof to annotation Mark AB as deprecated REVISION DETAIL https://reviews.facebook.net/D8859 To: JIRA, navis Cc: njain > Size of aggregation buffer which uses non-primitive type is not estimated > correctly > ----------------------------------------------------------------------------------- > > Key: HIVE-4068 > URL: https://issues.apache.org/jira/browse/HIVE-4068 > Project: Hive > Issue Type: Improvement > Components: Query Processor > Reporter: Navis > Assignee: Navis > Priority: Minor > Attachments: HIVE-4068.D8859.1.patch, HIVE-4068.D8859.2.patch > > > Currently, hive assumes an aggregation buffer which holds a map is occupying > just 256 byte (fixed). If it's bigger than that in real, OutOfMemoryError can > be thrown (especially for >1k buffer). > workaround : set hive.map.aggr.hash.percentmemory=<smaller value than > default(0.5)> -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira