[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2016-02-29 Thread Jason Lowe (JIRA)

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

Jason Lowe updated TEZ-1911:

Fix Version/s: 0.7.1

Thanks, Rajesh!  I committed this and the addendum patch to branch-0.7.

> 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
> Fix For: 0.7.1, 0.8.3
>
> Attachments: TEZ-1911.1.patch, TEZ-1911.2.patch, TEZ-1911.3.patch, 
> TEZ-1911.addendum.findbugs.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)


[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2016-02-26 Thread Rajesh Balamohan (JIRA)

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

Rajesh Balamohan updated TEZ-1911:
--
Attachment: TEZ-1911.addendum.findbugs.patch

line 659 and line 662 were not valid as sync(manager) was already done. 
Attaching the addendum patch to fix findbugs warnings 
-synchronizes getUsedMemory
-makes explicit calls to manager.getUsedMemory in 
IntermediateMemoryToMemoryMerger instead of using usedMemory variable.

> 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
> Fix For: 0.8.3
>
> Attachments: TEZ-1911.1.patch, TEZ-1911.2.patch, TEZ-1911.3.patch, 
> TEZ-1911.addendum.findbugs.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)


[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2016-02-25 Thread Rajesh Balamohan (JIRA)

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

Rajesh Balamohan updated TEZ-1911:
--
Attachment: TEZ-1911.3.patch

> 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, TEZ-1911.2.patch, TEZ-1911.3.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)


[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2016-02-25 Thread Rajesh Balamohan (JIRA)

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

Rajesh Balamohan updated TEZ-1911:
--
Attachment: TEZ-1911.2.patch

Thanks [~sseth]. Addressed review comments in .2 patch
-Removed thread interruption check
-Retained the log statement.

Will create subsequent JIRA for the other 2 enhancements.

> 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, TEZ-1911.2.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)


[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2016-02-17 Thread Rajesh Balamohan (JIRA)

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

Rajesh Balamohan updated TEZ-1911:
--
Attachment: TEZ-1911.1.patch

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
> 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)


[jira] [Updated] (TEZ-1911) MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger

2015-01-04 Thread Rajesh Balamohan (JIRA)

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

Rajesh Balamohan updated TEZ-1911:
--
Target Version/s: 0.7.0

 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

 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)