Author: acmurthy Date: Thu Jul 18 19:05:32 2013 New Revision: 1504607 URL: http://svn.apache.org/r1504607 Log: Merge -c from trunk to branch-2.1-beta to fix YARN-701. Use application tokens irrespective of secure or non-secure mode. Contributed by Vinod K V.
Modified: hadoop/common/branches/branch-2.1-beta/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRMContainerAllocator.java Modified: hadoop/common/branches/branch-2.1-beta/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRMContainerAllocator.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2.1-beta/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRMContainerAllocator.java?rev=1504607&r1=1504606&r2=1504607&view=diff ============================================================================== --- hadoop/common/branches/branch-2.1-beta/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRMContainerAllocator.java (original) +++ hadoop/common/branches/branch-2.1-beta/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRMContainerAllocator.java Thu Jul 18 19:05:32 2013 @@ -71,6 +71,8 @@ import org.apache.hadoop.mapreduce.v2.ut import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem; import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.net.NetworkTopology; +import org.apache.hadoop.security.UserGroupInformation; +import org.apache.hadoop.security.token.Token; import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; import org.apache.hadoop.yarn.api.records.ApplicationAttemptId; import org.apache.hadoop.yarn.api.records.ApplicationId; @@ -87,6 +89,7 @@ import org.apache.hadoop.yarn.event.Even import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; import org.apache.hadoop.yarn.factories.RecordFactory; import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider; +import org.apache.hadoop.yarn.security.AMRMTokenIdentifier; import org.apache.hadoop.yarn.server.resourcemanager.MockNM; import org.apache.hadoop.yarn.server.resourcemanager.MockRM; import org.apache.hadoop.yarn.server.resourcemanager.RMContext; @@ -1392,6 +1395,18 @@ public class TestRMContainerAllocator { @Override protected void register() { + ApplicationAttemptId attemptId = getContext().getApplicationAttemptId(); + UserGroupInformation ugi = + UserGroupInformation.createRemoteUser(attemptId.toString()); + Token<AMRMTokenIdentifier> token = + rm.getRMContext().getRMApps().get(attemptId.getApplicationId()) + .getRMAppAttempt(attemptId).getAMRMToken(); + try { + ugi.addTokenIdentifier(token.decodeIdentifier()); + } catch (IOException e) { + throw new YarnRuntimeException(e); + } + UserGroupInformation.setLoginUser(ugi); super.register(); }