Author: vinodkv Date: Thu Oct 18 19:14:10 2012 New Revision: 1399797 URL: http://svn.apache.org/viewvc?rev=1399797&view=rev Log: YARN-32. Fix TestApplicationTokens to not depend on test order and thus pass on JDK7. Contributed by Vinod Kumar Vavilapali. svn merge --ignore-ancestry -c 1399795 ../../trunk/
Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestApplicationTokens.java Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt?rev=1399797&r1=1399796&r2=1399797&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/CHANGES.txt Thu Oct 18 19:14:10 2012 @@ -26,6 +26,9 @@ Release 0.23.5 - UNRELEASED YARN-43. Fix TestResourceTrackerService to not depend on test order and thus pass on JDK7. (Thomas Graves via vinodkv) + YARN-32. Fix TestApplicationTokens to not depend on test order and thus pass + on JDK7. (vinodkv) + OPTIMIZATIONS BUG FIXES Modified: hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestApplicationTokens.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestApplicationTokens.java?rev=1399797&r1=1399796&r2=1399797&view=diff ============================================================================== --- hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestApplicationTokens.java (original) +++ hadoop/common/branches/branch-0.23/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestApplicationTokens.java Thu Oct 18 19:14:10 2012 @@ -64,6 +64,10 @@ public class TestApplicationTokens { final MockRM rm = new MockRMWithAMS(new Configuration(), containerManager); rm.start(); + final Configuration conf = rm.getConfig(); + final YarnRPC rpc = YarnRPC.create(conf); + AMRMProtocol rmClient = null; + try { MockNM nm1 = rm.registerNode("localhost:1234", 5120); @@ -82,9 +86,6 @@ public class TestApplicationTokens { ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId(); // Create a client to the RM. - final Configuration conf = rm.getConfig(); - final YarnRPC rpc = YarnRPC.create(conf); - UserGroupInformation currentUser = UserGroupInformation .createRemoteUser(applicationAttemptId.toString()); @@ -96,7 +97,7 @@ public class TestApplicationTokens { token.decodeFromUrlString(tokenURLEncodedStr); currentUser.addToken(token); - AMRMProtocol rmClient = createRMClient(rm, conf, rpc, currentUser); + rmClient = createRMClient(rm, conf, rpc, currentUser); RegisterApplicationMasterRequest request = Records.newRecord(RegisterApplicationMasterRequest.class); @@ -136,6 +137,9 @@ public class TestApplicationTokens { } finally { rm.stop(); + if (rmClient != null) { + rpc.stopProxy(rmClient, conf); // To avoid using cached client + } } } @@ -153,6 +157,10 @@ public class TestApplicationTokens { final MockRM rm = new MockRMWithAMS(config, containerManager); rm.start(); + final Configuration conf = rm.getConfig(); + final YarnRPC rpc = YarnRPC.create(conf); + AMRMProtocol rmClient = null; + try { MockNM nm1 = rm.registerNode("localhost:1234", 5120); @@ -171,9 +179,6 @@ public class TestApplicationTokens { ApplicationAttemptId applicationAttemptId = attempt.getAppAttemptId(); // Create a client to the RM. - final Configuration conf = rm.getConfig(); - final YarnRPC rpc = YarnRPC.create(conf); - UserGroupInformation currentUser = UserGroupInformation .createRemoteUser(applicationAttemptId.toString()); @@ -185,7 +190,7 @@ public class TestApplicationTokens { token.decodeFromUrlString(tokenURLEncodedStr); currentUser.addToken(token); - AMRMProtocol rmClient = createRMClient(rm, conf, rpc, currentUser); + rmClient = createRMClient(rm, conf, rpc, currentUser); RegisterApplicationMasterRequest request = Records.newRecord(RegisterApplicationMasterRequest.class); @@ -217,6 +222,9 @@ public class TestApplicationTokens { .getReboot()); } finally { rm.stop(); + if (rmClient != null) { + rpc.stopProxy(rmClient, conf); // To avoid using cached client + } } }