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/04/05 06:42:05 UTC
[jira] [Updated] (MAPREDUCE-2396) InMemFSMergeThread.doInMemMerge()
miss the last MapOutput for each merge round
[ 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