The last InMemory merge may be missed
-------------------------------------

                 Key: HADOOP-3517
                 URL: https://issues.apache.org/jira/browse/HADOOP-3517
             Project: Hadoop Core
          Issue Type: Bug
          Components: mapred
    Affects Versions: 0.18.0
            Reporter: Devaraj Das
            Priority: Blocker
             Fix For: 0.18.0


This is post HADOOP-3366. The inmem merge thread has the loop:
{code}
        while (!exitInMemMerge) {
            ramManager.waitForDataToMerge();
            doInMemMerge();
          }
{code}
The fetchOutputs, at the end of copying everything, does the following:
{code}
        exitInMemMerge = true; 
        ramManager.close();
{code}
Now if the merge thread is doing a merge (inside the doInMemMerge method) when 
the exitInMemMerge is set to true, the loop will break and the last merge of 
the files that got shuffled recently will be skipped. ramManager.close(), that 
internally does a final notify to the merge thread also won't have any effect 
in this case.

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