Issue Details (XML | Word | Printable)

Key: HADOOP-3940
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Chris Douglas
Reporter: Chris Douglas
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Hadoop Common

Reduce often attempts in memory merge with no work

Created: 12/Aug/08 08:58 PM   Updated: 08/Jul/09 04:52 PM
Component/s: None
Affects Version/s: 0.18.0
Fix Version/s: 0.18.1

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works 3940-0.patch 2008-08-12 09:17 PM Chris Douglas 0.7 kB
Text File Licensed for inclusion in ASF works 3940-1.patch 2008-08-13 09:43 PM Chris Douglas 2 kB

Hadoop Flags: Reviewed
Resolution Date: 13/Aug/08 10:38 PM


 Description  « Hide
ReduceTask.ReduceCopier.ShuffleRamManager initializes numRequiredMapOutputs to 0, so one of the predicates in ShuffleRamManager::waitForDataToMerge, numPendingRequests < numRequiredMapOutputs, is false until the first map output is fetched and false again after the last map output is fetched. The InMemFSMergeThread thread will loop busily in this state.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Chris Douglas added a comment - 12/Aug/08 09:17 PM
Simplest fix, waiting on numRequiredMapOutputs == 0.

Initializing numRequiredMapOutputs to Integer.MAX_VALUE would require a different check at the end; this should handle both.


Chris Douglas added a comment - 12/Aug/08 10:06 PM - edited
[ edit - nevermind ]

Hadoop QA added a comment - 13/Aug/08 03:43 PM
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12388084/3940-0.patch
against trunk revision 685425.

+1 @author. The patch does not contain any @author tags.

-1 tests included. The patch doesn't appear to include any new or modified tests.
Please justify why no tests are needed for this patch.

-1 javadoc. The javadoc tool appears to have generated 1 warning messages.

+1 javac. The applied patch does not increase the total number of javac compiler warnings.

+1 findbugs. The patch does not introduce any new Findbugs warnings.

+1 release audit. The applied patch does not increase the total number of release audit warnings.

-1 core tests. The patch failed core unit tests.

-1 contrib tests. The patch failed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3058/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3058/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3058/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/3058/console

This message is automatically generated.


Chris Douglas added a comment - 13/Aug/08 09:43 PM
Added some comments to waitForDataToMerge, particularly explaining why numRequiredMapOutputs == 0 is a special case, per Arun's suggestion.

Test failures are due to HADOOP-3946.


Arun C Murthy added a comment - 13/Aug/08 10:13 PM
+1

Chris Douglas added a comment - 13/Aug/08 10:38 PM
I just committed this

Hudson added a comment - 22/Aug/08 12:34 PM

Owen O'Malley added a comment - 05/Sep/08 03:59 PM
There was a suggestion on the list to include this in 0.18.1. That sounds right to me. Thoughts?

Chris Douglas added a comment - 05/Sep/08 10:55 PM
+1

Merged into 0.18 branch


Hudson added a comment - 06/Sep/08 01:23 PM