Author: tgraves Date: Wed Apr 4 15:12:24 2012 New Revision: 1309446 URL: http://svn.apache.org/viewvc?rev=1309446&view=rev Log: merge -r 1309439:1309440 from trunk. FIXES: MAPREDUCE-3682
Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt?rev=1309446&r1=1309445&r2=1309446&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-mapreduce-project/CHANGES.txt Wed Apr 4 15:12:24 2012 @@ -146,6 +146,9 @@ Release 0.23.3 - UNRELEASED MAPREDUCE-3672. Killed maps shouldn't be counted towards JobCounter.NUM_FAILED_MAPS. (Anupam Seth via tgraves) + MAPREDUCE-3682 Tracker URL says AM tasks run on localhost. + (Ravi Prakash via tgraves) + Release 0.23.2 - UNRELEASED INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java?rev=1309446&r1=1309445&r2=1309446&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java (original) +++ hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java Wed Apr 4 15:12:24 2012 @@ -643,7 +643,8 @@ public class MRAppMaster extends Composi public synchronized void start() { if (job.isUber()) { this.containerAllocator = new LocalContainerAllocator( - this.clientService, this.context); + this.clientService, this.context, nmHost, nmPort, nmHttpPort + , containerID); } else { this.containerAllocator = new RMContainerAllocator( this.clientService, this.context); Modified: hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java?rev=1309446&r1=1309445&r2=1309446&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java (original) +++ hadoop/common/branches/branch-2/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/local/LocalContainerAllocator.java Wed Apr 4 15:12:24 2012 @@ -65,14 +65,23 @@ public class LocalContainerAllocator ext private AtomicInteger containerCount = new AtomicInteger(); private long retryInterval; private long retrystartTime; + private String nmHost; + private int nmPort; + private int nmHttpPort; + private ContainerId containerId; private final RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null); public LocalContainerAllocator(ClientService clientService, - AppContext context) { + AppContext context, String nmHost, int nmPort, int nmHttpPort + , ContainerId cId) { super(clientService, context); this.eventHandler = context.getEventHandler(); + this.nmHost = nmHost; + this.nmPort = nmPort; + this.nmHttpPort = nmHttpPort; + this.containerId = cId; } @Override @@ -131,17 +140,17 @@ public class LocalContainerAllocator ext LOG.info("Processing the event " + event.toString()); ContainerId cID = recordFactory.newRecordInstance(ContainerId.class); cID.setApplicationAttemptId(applicationAttemptId); - // use negative ids to denote that these are local. Need a better way ?? - cID.setId((-1) * containerCount.getAndIncrement()); + // Assign the same container ID as the AM + cID.setId(this.containerId.getId()); Container container = recordFactory.newRecordInstance(Container.class); container.setId(cID); NodeId nodeId = Records.newRecord(NodeId.class); - nodeId.setHost("localhost"); - nodeId.setPort(1234); + nodeId.setHost(this.nmHost); + nodeId.setPort(this.nmPort); container.setNodeId(nodeId); container.setContainerToken(null); - container.setNodeHttpAddress("localhost:8042"); + container.setNodeHttpAddress(this.nmHost + ":" + this.nmHttpPort); // send the container-assigned event to task attempt if (event.getAttemptID().getTaskId().getTaskType() == TaskType.MAP) {