[ 
https://issues.apache.org/jira/browse/HADOOP-3366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12603031#action_12603031
 ] 

Devaraj Das commented on HADOOP-3366:
-------------------------------------

Some comments: 
0) The inMem merge thread needs to ignore the criteria when the shuffle thread 
notifies it to do a forced merge. 
1) A race condition exists in the interval between the ramManager.notify and 
mergePassComplete.wait() calls in getMapOutput. What could happen is that the 
ramManager gets notified and it *finishes* the merge *before* this thread calls 
mergePassComplete.wait(). If this happens the notification from the merger is 
lost and this thread will just wait ... 
2) The handshake between the merger, copier and the ramManager looks complex 
and there could be more race conditions like the one i pointed above. I and 
Sharad had a quick discussion and we feel it can be simplified. 
   Have the ramManager.reserve lock the thread if the request cannot be 
satisfied 
   Have the ramManager.unreserve do a notifyAll (this the mergeThread does) 
   Have the shuffle thread notify the mergeThread (before it goes to wait) 

> Shuffle/Merge improvements
> --------------------------
>
>                 Key: HADOOP-3366
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3366
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>             Fix For: 0.18.0
>
>         Attachments: 3366.1.patch, 3366.1.patch, 
> HADOOP-3366_0_20080605.patch, ifile.patch
>
>
> This is intended to be a meta-issue to track various improvements to 
> shuffle/merge in the reducer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to