Repository: hadoop Updated Branches: refs/heads/trunk df0d61e3a -> 9315db5f5
HDFS-13815. RBF: Add check to order command. Contributed by Ranith Sardar. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9315db5f Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9315db5f Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9315db5f Branch: refs/heads/trunk Commit: 9315db5f5da09c2ef86be168465c16932afa2d85 Parents: df0d61e Author: Yiqun Lin <yq...@apache.org> Authored: Wed Sep 5 23:33:27 2018 +0800 Committer: Yiqun Lin <yq...@apache.org> Committed: Wed Sep 5 23:33:27 2018 +0800 ---------------------------------------------------------------------- .../hdfs/tools/federation/RouterAdmin.java | 10 ++++ .../federation/router/TestRouterAdminCLI.java | 57 +++++++++++++++++++- 2 files changed, 66 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/9315db5f/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/tools/federation/RouterAdmin.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/tools/federation/RouterAdmin.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/tools/federation/RouterAdmin.java index ef8d7c1..0a681e9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/tools/federation/RouterAdmin.java +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/tools/federation/RouterAdmin.java @@ -263,10 +263,14 @@ public class RouterAdmin extends Configured implements Tool { if ("-add".equals(cmd)) { if (addMount(argv, i)) { System.out.println("Successfully added mount point " + argv[i]); + } else { + exitCode = -1; } } else if ("-update".equals(cmd)) { if (updateMount(argv, i)) { System.out.println("Successfully updated mount point " + argv[i]); + } else { + exitCode = -1; } } else if ("-rm".equals(cmd)) { if (removeMount(argv[i])) { @@ -369,6 +373,9 @@ public class RouterAdmin extends Configured implements Tool { i++; short modeValue = Short.parseShort(parameters[i], 8); mode = new FsPermission(modeValue); + } else { + printUsage("-add"); + return false; } i++; @@ -521,6 +528,9 @@ public class RouterAdmin extends Configured implements Tool { i++; short modeValue = Short.parseShort(parameters[i], 8); mode = new FsPermission(modeValue); + } else { + printUsage("-update"); + return false; } i++; http://git-wip-us.apache.org/repos/asf/hadoop/blob/9315db5f/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterAdminCLI.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterAdminCLI.java b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterAdminCLI.java index fa29cd9..d968c60 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterAdminCLI.java +++ b/hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterAdminCLI.java @@ -224,6 +224,24 @@ public class TestRouterAdminCLI { testAddOrderMountTable(DestinationOrder.HASH_ALL); } + @Test + public void testAddOrderErrorMsg() throws Exception { + DestinationOrder order = DestinationOrder.HASH; + final String mnt = "/newAdd1" + order; + final String nsId = "ns0,ns1"; + final String dest = "/changAdd"; + + String[] argv1 = new String[] {"-add", mnt, nsId, dest, "-order", + order.toString()}; + assertEquals(0, ToolRunner.run(admin, argv1)); + + // Add the order with wrong command + String[] argv = new String[] {"-add", mnt, nsId, dest, "-orde", + order.toString()}; + assertEquals(-1, ToolRunner.run(admin, argv)); + + } + private void testAddOrderMountTable(DestinationOrder order) throws Exception { final String mnt = "/" + order; @@ -403,7 +421,7 @@ public class TestRouterAdminCLI { argv = new String[] {"-add", "/testpath2-2", "ns0", "/testdir2-2", "-owner", TEST_USER, "-group", TEST_USER, "-mode", "0255"}; assertEquals(0, ToolRunner.run(admin, argv)); - verifyExecutionResult("/testpath2-2", false, 0, 0); + verifyExecutionResult("/testpath2-2", false, -1, 0); // set mount table entry with read and write permission argv = new String[] {"-add", "/testpath2-3", "ns0", "/testdir2-3", @@ -888,6 +906,43 @@ public class TestRouterAdminCLI { testUpdateOrderMountTable(DestinationOrder.HASH_ALL); } + @Test + public void testOrderErrorMsg() throws Exception { + String nsId = "ns0"; + DestinationOrder order = DestinationOrder.HASH; + String src = "/testod" + order.toString(); + String dest = "/testUpd"; + String[] argv = new String[] {"-add", src, nsId, dest}; + assertEquals(0, ToolRunner.run(admin, argv)); + + stateStore.loadCache(MountTableStoreImpl.class, true); + GetMountTableEntriesRequest getRequest = GetMountTableEntriesRequest + .newInstance(src); + GetMountTableEntriesResponse getResponse = client.getMountTableManager() + .getMountTableEntries(getRequest); + + // Ensure mount table added successfully + MountTable mountTable = getResponse.getEntries().get(0); + assertEquals(src, mountTable.getSourcePath()); + assertEquals(nsId, mountTable.getDestinations().get(0).getNameserviceId()); + assertEquals(dest, mountTable.getDestinations().get(0).getDest()); + assertEquals(DestinationOrder.HASH, mountTable.getDestOrder()); + + argv = new String[] {"-update", src, nsId, dest, "-order", + order.toString()}; + assertEquals(0, ToolRunner.run(admin, argv)); + + // Update the order with wrong command + argv = new String[] {"-update", src + "a", nsId, dest + "a", "-orde", + order.toString()}; + assertEquals(-1, ToolRunner.run(admin, argv)); + + // Update without order argument + argv = new String[] {"-update", src, nsId, dest, order.toString()}; + assertEquals(-1, ToolRunner.run(admin, argv)); + + } + private void testUpdateOrderMountTable(DestinationOrder order) throws Exception { // Add a mount table --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org