You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Rohini Palaniswamy (JIRA)" <ji...@apache.org> on 2015/07/16 03:36:05 UTC

[jira] [Updated] (PIG-4626) [Pig on Tez] OOM in case of multiple outputs and POPartialAgg

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

Rohini Palaniswamy updated PIG-4626:
------------------------------------
    Description: 
  tez.task.scale.memory.reserve-fraction is 0.3 by default which assumes 70% of memory is available for io.sort.mb. If map is configured as 1G Xmx and io.sort.mb as 256MB, and there is group by on 3 different keys it has 3 different outputs and Tez's WeightedScalingMemoryDistributor allocates 256MB to each of the outputs which leaves very less memory for Pig and POPartialAgg (which requires 20% of memory) and sometime leads to OOM. This also causes SpillableMemoryManager to be invoked often as its threshold is set to 70% of memory.

Need to set tez.task.scale.memory.reserve-fraction as 0.5 for all pig jobs and 0.6 in case there is POPartialAgg in combiner plan.

  was:
  tez.task.scale.memory.reserve-fraction is 0.3 by default which assumes 70% of memory is available for io.sort.mb. If map is configured as 1G Xmx and io.sort.mb as 256MB, and there is group by on 3 different keys it has 3 different outputs and Tez's WeightedScalingMemoryDistributor allocates 256MB to each of the outputs which leaves very less memory for Pig and POPartialAgg (which requires 20% of memory) and sometime leads to OOM. This also causes SpillableMemoryManager to be invoked often as its threshold is set to 70% of memory.

Need to set tez.task.scale.memory.reserve-fraction as 0.5 for all pig jobs and 0.4 in case there is POPartialAgg in combiner plan.


> [Pig on Tez] OOM in case of multiple outputs and POPartialAgg
> -------------------------------------------------------------
>
>                 Key: PIG-4626
>                 URL: https://issues.apache.org/jira/browse/PIG-4626
>             Project: Pig
>          Issue Type: Bug
>            Reporter: Rohini Palaniswamy
>            Assignee: Rohini Palaniswamy
>             Fix For: 0.16.0, 0.15.1
>
>
>   tez.task.scale.memory.reserve-fraction is 0.3 by default which assumes 70% of memory is available for io.sort.mb. If map is configured as 1G Xmx and io.sort.mb as 256MB, and there is group by on 3 different keys it has 3 different outputs and Tez's WeightedScalingMemoryDistributor allocates 256MB to each of the outputs which leaves very less memory for Pig and POPartialAgg (which requires 20% of memory) and sometime leads to OOM. This also causes SpillableMemoryManager to be invoked often as its threshold is set to 70% of memory.
> Need to set tez.task.scale.memory.reserve-fraction as 0.5 for all pig jobs and 0.6 in case there is POPartialAgg in combiner plan.



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