[
https://issues.apache.org/jira/browse/PIG-3044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13506647#comment-13506647
]
Julien Le Dem commented on PIG-3044:
------------------------------------
in DefaultAbstractBag.getMemorySize():
* You use avgTupleSize first to sum the aggregated tuple size and then you
divide it to get the average. Could you use different names for clarity?
something like:
{noformat}
for (j = 0; i.hasNext() && j < 100; j++) {
totalTupleSize += i.next().getMemorySize()
}
averageTupleSize = totalTupleSize / j;
{noformat}
* Here we take the floor() of the average estimate. Do you want to make it a
ceil() by adding + 1 ?
That way we would slightly overestimate instead of slightly underestimate.
otherwise it looks all good to me.
I would even say we remove the % memory budget as the Spillable mechanism is
more reliable and much simpler.
+1
> Trigger POPartialAgg compaction under GC pressure
> -------------------------------------------------
>
> Key: PIG-3044
> URL: https://issues.apache.org/jira/browse/PIG-3044
> Project: Pig
> Issue Type: Improvement
> Affects Versions: 0.10.0, 0.11, 0.10.1
> Reporter: Dmitriy V. Ryaboy
> Assignee: Dmitriy V. Ryaboy
> Fix For: 0.12
>
> Attachments: PIG-3404.diff
>
>
> If partial aggregation is turned on in pig 10 and 11, 20% (by default) of the
> available heap can be consumed by the POPartialAgg operator. This can cause
> memory issues for jobs that use all, or nearly all, of the heap already.
> If we make POPartialAgg "spillable" (trigger compaction when memory reduction
> is required), we would be much nicer to high-memory jobs.
--
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