You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Elton Tian (JIRA)" <ji...@apache.org> on 2011/03/19 03:09:29 UTC

[jira] Created: (MAPREDUCE-2396) InMemFSMergeThread.doInMemMerge() miss the lass MapOutput for each merge round

InMemFSMergeThread.doInMemMerge() miss the lass MapOutput for each merge round  
--------------------------------------------------------------------------------

                 Key: MAPREDUCE-2396
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2396
             Project: Hadoop Map/Reduce
          Issue Type: Bug
    Affects Versions: 0.20.2
            Reporter: Elton Tian
            Priority: Critical


In ReduceTask.shuffleInMemory(), once a new MapOutput is read, the ramManager.closeInMemoryFile() is called to notify waitForDataToMerge()  to check if a in memory merge is required. If the threshold is met, the doInMemMerge() may start before the MapOutput just read been added to mapOutputsFilesInMemory. So the "dataAvailable.notify();" should be removed and let the noteCopiedMapOutput() notify the merge. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (MAPREDUCE-2396) InMemFSMergeThread.doInMemMerge() miss the last MapOutput for each merge round

Posted by "Elton Tian (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/MAPREDUCE-2396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Elton Tian updated MAPREDUCE-2396:
----------------------------------

    Summary: InMemFSMergeThread.doInMemMerge() miss the last MapOutput for each merge round    (was: InMemFSMergeThread.doInMemMerge() miss the lass MapOutput for each merge round  )

> InMemFSMergeThread.doInMemMerge() miss the last MapOutput for each merge round  
> --------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-2396
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2396
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 0.20.2
>            Reporter: Elton Tian
>            Priority: Critical
>
> In ReduceTask.shuffleInMemory(), once a new MapOutput is read, the ramManager.closeInMemoryFile() is called to notify waitForDataToMerge()  to check if a in memory merge is required. If the threshold is met, the doInMemMerge() may start before the MapOutput just read been added to mapOutputsFilesInMemory. So the "dataAvailable.notify();" should be removed and let the noteCopiedMapOutput() notify the merge. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira