You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Rajesh Balamohan (JIRA)" <ji...@apache.org> on 2016/02/18 03:21:18 UTC
[jira] [Comment Edited] (TEZ-1911) MergeManager's
unconditionalReserve() should check for memory limits before allocating
memory to IntermediateMemoryToMemoryMerger
[ https://issues.apache.org/jira/browse/TEZ-1911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15151597#comment-15151597 ]
Rajesh Balamohan edited comment on TEZ-1911 at 2/18/16 2:20 AM:
----------------------------------------------------------------
Patch merges segments such that it does not overshoot memory limit. [~sseth] Please review when you find time.
was (Author: rajesh.balamohan):
Patch merges segments such that it does not overshoot memory limit.
> MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: TEZ-1911
> URL: https://issues.apache.org/jira/browse/TEZ-1911
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Rajesh Balamohan
> Assignee: Rajesh Balamohan
> Attachments: TEZ-1911.1.patch
>
>
> Currently, IntermediateMemoryToMemoryMerger invokes unconditionalReserve() to get the memory needed for intermediate mem-to-mem merging. It could potentially cause issue in the following scenario
> 1. tez.runtime.io.sort.factor set to 100 and assume shuffled data (e.g 60% memory occupied) haven't reached TEZ_RUNTIME_SHUFFLE_MERGE_PERCENT_DEFAULT
> 2. Assume that it reaches the sort.factor threshold before reaching merge threshold. This would kick in IntermediateMemoryToMemoryMerger.
> In IntermediateMemoryToMemoryMerger, it would try to allocate additional 60% without any boundary checks. This could lead to OOM depending on the tez.runtime.io.sort.mb setting.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)