MAPREDUCE-5861. finishedSubMaps field in LocalContainerLauncher does not need to be volatile. (Contributed by Tsuyoshi OZAWA)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1594795 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Junping Du 2014-05-15 07:07:18 +00:00
parent f2933f2535
commit 1e5d2c612b
2 changed files with 7 additions and 2 deletions

View File

@ -194,6 +194,9 @@ Release 2.5.0 - UNRELEASED
MAPREDUCE-5652. NM Recovery. ShuffleHandler should handle NM restarts.
(Jason Lowe via kasha)
MAPREDUCE-5861. finishedSubMaps field in LocalContainerLauncher does not
need to be volatile. (Tsuyoshi OZAWA via junping_du)
OPTIMIZATIONS
BUG FIXES

View File

@ -177,8 +177,10 @@ public class LocalContainerLauncher extends AbstractService implements
*/
private class EventHandler implements Runnable {
private volatile boolean doneWithMaps = false;
private volatile int finishedSubMaps = 0;
// doneWithMaps and finishedSubMaps are accessed from only
// one thread. Therefore, no need to make them volatile.
private boolean doneWithMaps = false;
private int finishedSubMaps = 0;
private final Map<TaskAttemptId,Future<?>> futures =
new ConcurrentHashMap<TaskAttemptId,Future<?>>();