YARN-3860. rmadmin -transitionToActive should check the state of non-target node. (Contributed by Masatake Iwasaki)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/a95d39f9 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/a95d39f9 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/a95d39f9 Branch: refs/heads/HADOOP-12111 Commit: a95d39f9d08b3b215a1b33e77e9ab8a2ee59b3a9 Parents: aad6a7d Author: Junping Du <junping...@apache.org> Authored: Sun Jun 28 22:26:47 2015 -0700 Committer: Junping Du <junping...@apache.org> Committed: Sun Jun 28 22:26:47 2015 -0700 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../org/apache/hadoop/yarn/client/cli/RMAdminCLI.java | 10 +++++++++- .../org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/a95d39f9/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 714bfdc..3ebf799 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -565,6 +565,9 @@ Release 2.8.0 - UNRELEASED YARN-3859. LeafQueue doesn't print user properly for application add. (Varun Saxena via devaraj) + YARN-3860. rmadmin -transitionToActive should check the state of non-target node. + (Masatake Iwasaki via junping_du) + Release 2.7.2 - UNRELEASED INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/a95d39f9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RMAdminCLI.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RMAdminCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RMAdminCLI.java index 932b62d..36d29d6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RMAdminCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/RMAdminCLI.java @@ -797,7 +797,15 @@ public class RMAdminCLI extends HAAdmin { "Could not connect to RM HA Admin for node " + rmId); } } - + + /** + * returns the list of all resourcemanager ids for the given configuration. + */ + @Override + protected Collection<String> getTargetIds(String targetNodeToActivate) { + return HAUtil.getRMHAIds(getConf()); + } + @Override protected String getUsageString() { return "Usage: rmadmin"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/a95d39f9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java index a95412c..6dc326a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/cli/TestRMAdminCLI.java @@ -27,6 +27,7 @@ import static org.mockito.Matchers.argThat; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -116,6 +117,7 @@ public class TestRMAdminCLI { YarnConfiguration conf = new YarnConfiguration(); conf.setBoolean(YarnConfiguration.RM_HA_ENABLED, true); + conf.set(YarnConfiguration.RM_HA_IDS, "rm1,rm2"); rmAdminCLIWithHAEnabled = new RMAdminCLI(conf) { @Override @@ -259,6 +261,8 @@ public class TestRMAdminCLI { assertEquals(0, rmAdminCLIWithHAEnabled.run(args)); verify(haadmin).transitionToActive( any(HAServiceProtocol.StateChangeRequestInfo.class)); + // HAAdmin#isOtherTargetNodeActive should check state of non-target node. + verify(haadmin, times(1)).getServiceStatus(); } @Test(timeout = 500)