You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@hive.apache.org by GitBox <gi...@apache.org> on 2020/09/10 16:07:55 UTC
[GitHub] [hive] mustafaiman commented on a change in pull request #1481: HIVE-24139: VectorGroupByOperator is not flushing hash table entries …
mustafaiman commented on a change in pull request #1481:
URL: https://github.com/apache/hive/pull/1481#discussion_r486463497
##########
File path: ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorGroupByOperator.java
##########
@@ -427,8 +428,12 @@ public void initialize(Configuration hconf) throws HiveException {
computeMemoryLimits();
LOG.debug("using hash aggregation processing mode");
+ reusableBufferSize = (int) (maxHtEntries * percentEntriesToFlush);
+
+ reusableAggregationBufferRows = new ArrayDeque<>(reusableBufferSize);
+
if (keyWrappersBatch.getVectorHashKeyWrappers()[0] instanceof VectorHashKeyWrapperGeneral) {
Review comment:
@rbalamohan
The array that is returned from `keyWrappersBatch.getVectorHashKeyWrappers()` consists of only one type of wrappers, isn't it? So the first element is representative of all the elements in that array.
We resort to this optimization only when the batch consists of VectorHashKeyWrapperGeneral. The other wrapper types have only one two primitive types. If needed, only thing we need to do is just override their copyKey(KeyWrapper) method and generalize this `instanceOf` check to cover them too. Right now, I dont think that is very important.
So when the first element is not VectorHashKeyWrapperGeneral, the rest of the array are not either. In that case, we just skip reusing.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org