Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.0
-
None
-
None
Description
The existing flush logic in our VectorGroupByOperator is completely static.
It depends on the: number of HtEntries (hive.vectorized.groupby.maxentries) and the MAX memory threshold (by default 90% of available memory)
Assuming that we are not memory constrained the periodicity of flushing is currently dictated by the static number of entries (1M by default) which can be also misconfigured to a very low value.
I am proposing along with maxHtEntries, to also take into account current memory usage, to avoid flushing too ofter as it can hurt op throughput for particular workloads.