MAPREDUCE-6068. Illegal progress value warnings in map tasks. Contributed by Binglin Chang.

(cherry picked from commit 8c1adeaa26)
This commit is contained in:
Junping Du 2016-01-11 06:12:19 -08:00
parent da42b01645
commit 51073c910c
2 changed files with 8 additions and 5 deletions

View File

@ -394,6 +394,9 @@ Release 2.8.0 - UNRELEASED
MAPREDUCE-6593. TestJobHistoryEventHandler.testTimelineEventHandling fails MAPREDUCE-6593. TestJobHistoryEventHandler.testTimelineEventHandling fails
on trunk because of NPE. (Naganarasimha G R via aajisaka) on trunk because of NPE. (Naganarasimha G R via aajisaka)
MAPREDUCE-6068. Illegal progress value warnings in map tasks. (Binglin Chang
via junping_du)
Release 2.7.3 - UNRELEASED Release 2.7.3 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -519,7 +519,7 @@ public class Merger {
boolean hasNext = reader.nextRawKey(); boolean hasNext = reader.nextRawKey();
long endPos = reader.getReader().bytesRead; long endPos = reader.getReader().bytesRead;
totalBytesProcessed += endPos - startPos; totalBytesProcessed += endPos - startPos;
mergeProgress.set(totalBytesProcessed * progPerByte); mergeProgress.set(Math.min(1.0f, totalBytesProcessed * progPerByte));
if (hasNext) { if (hasNext) {
adjustTop(); adjustTop();
} else { } else {
@ -571,7 +571,7 @@ public class Merger {
} }
long endPos = minSegment.getReader().bytesRead; long endPos = minSegment.getReader().bytesRead;
totalBytesProcessed += endPos - startPos; totalBytesProcessed += endPos - startPos;
mergeProgress.set(totalBytesProcessed * progPerByte); mergeProgress.set(Math.min(1.0f, totalBytesProcessed * progPerByte));
return true; return true;
} }
@ -698,7 +698,7 @@ public class Merger {
totalBytesProcessed += startBytes; totalBytesProcessed += startBytes;
if (totalBytes != 0) if (totalBytes != 0)
mergeProgress.set(totalBytesProcessed * progPerByte); mergeProgress.set(Math.min(1.0f, totalBytesProcessed * progPerByte));
else else
mergeProgress.set(1.0f); // Last pass and no segments left - we're done mergeProgress.set(1.0f); // Last pass and no segments left - we're done