[ 
https://issues.apache.org/jira/browse/PIG-4782?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rohini Palaniswamy updated PIG-4782:
------------------------------------
    Attachment: PIG-4782-2-fixslowness.patch

Though the patch avoided OOM, it introduced slowness with the sleep of 5 sec in 
cases when spill is called multiple times before the code reaches POPartialAgg 
and it is aggregated. It gets slow by 5 sec * number of times the spill was 
called. The uploaded PIG-4782-2-fixslowness.patch skips the sleep second time 
if spill is not processed by POPartialAgg yet.

> OutOfMemoryError: GC overhead limit exceeded with POPartialAgg
> --------------------------------------------------------------
>
>                 Key: PIG-4782
>                 URL: https://issues.apache.org/jira/browse/PIG-4782
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Rohini Palaniswamy
>            Assignee: Rohini Palaniswamy
>             Fix For: 0.16.0
>
>         Attachments: PIG-4782-1.patch, PIG-4782-2-fixslowness.patch
>
>
>    In some cases, even though spill is triggered the main thread is still 
> executing some user UDF which constructs a DataBag which requires lot of 
> memory. Since we block on spill in POPartialAgg, there is kind of a deadlock 
> as there is no memory for the user DataBag to grow and spill does not happen 
> and job finally failing with OutOfMemoryError: GC overhead limit exceeded. So 
> need to make POPartialAgg non-blocking so that the user DataBag can be 
> spilled first for the code to reach POPartialAgg and spill.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to