[ https://issues.apache.org/jira/browse/DRILL-6032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16344286#comment-16344286 ]
ASF GitHub Bot commented on DRILL-6032: --------------------------------------- Github user ilooner commented on a diff in the pull request: https://github.com/apache/drill/pull/1101#discussion_r164611155 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/aggregate/HashAggTemplate.java --- @@ -215,6 +206,7 @@ public BatchHolder() { MaterializedField outputField = materializedValueFields[i]; // Create a type-specific ValueVector for this value vector = TypeHelper.getNewVector(outputField, allocator); + int columnSize = new RecordBatchSizer.ColumnSize(vector).estSize; --- End diff -- The goal of this code is to preallocate enough space to hold BATCH_SIZE number of elements in the batch. The BatchHolder itself is used to hold the aggregate values and aggregate values can currently only be FixedWidth vectors or ObjectVectors. Since we know how much direct memory each of these types will consume, we can use that knowledge in our column size estimate and preallocate the correct amount of space. **Note:** earlier the RecordBatchSizer would return an estSize of 0 for an empty FixedWidth value vectors. For example and empty IntVector would return an estSize of 0. This was incorrect behavior so I updated the RecordBatchSizer to return the correct size of a FixedWidth vector even when the value vector is empty. Please see the changes in the RecordBatchSizer and ValueVector templates for more details. > Use RecordBatchSizer to estimate size of columns in HashAgg > ----------------------------------------------------------- > > Key: DRILL-6032 > URL: https://issues.apache.org/jira/browse/DRILL-6032 > Project: Apache Drill > Issue Type: Improvement > Reporter: Timothy Farkas > Assignee: Timothy Farkas > Priority: Major > Fix For: 1.13.0 > > > We need to use the RecordBatchSize to estimate the size of columns in the > Partition batches created by HashAgg. -- This message was sent by Atlassian JIRA (v7.6.3#76005)