HDFS-16221. RBF: Add usage of refreshCallQueue for Router (#3421)

(cherry picked from commit 7f6553af75)
This commit is contained in:
Symious 2021-09-12 19:52:47 +08:00 committed by Hui Fei
parent 8affaa6312
commit c0f32f3cf8
3 changed files with 19 additions and 1 deletions

View File

@ -135,7 +135,7 @@ public class RouterAdmin extends Configured implements Tool {
"-setStorageTypeQuota", "-clrQuota", "-clrStorageTypeQuota", "-setStorageTypeQuota", "-clrQuota", "-clrStorageTypeQuota",
"-safemode", "-nameservice", "-getDisabledNameservices", "-safemode", "-nameservice", "-getDisabledNameservices",
"-refresh", "-refreshRouterArgs", "-refresh", "-refreshRouterArgs",
"-refreshSuperUserGroupsConfiguration"}; "-refreshSuperUserGroupsConfiguration", "-refreshCallQueue"};
StringBuilder usage = new StringBuilder(); StringBuilder usage = new StringBuilder();
usage.append("Usage: hdfs dfsrouteradmin :\n"); usage.append("Usage: hdfs dfsrouteradmin :\n");
for (int i = 0; i < commands.length; i++) { for (int i = 0; i < commands.length; i++) {
@ -185,6 +185,8 @@ public class RouterAdmin extends Configured implements Tool {
return "\t[-refreshRouterArgs <host:ipc_port> <key> [arg1..argn]]"; return "\t[-refreshRouterArgs <host:ipc_port> <key> [arg1..argn]]";
} else if (cmd.equals("-refreshSuperUserGroupsConfiguration")) { } else if (cmd.equals("-refreshSuperUserGroupsConfiguration")) {
return "\t[-refreshSuperUserGroupsConfiguration]"; return "\t[-refreshSuperUserGroupsConfiguration]";
} else if (cmd.equals("-refreshCallQueue")) {
return "\t[-refreshCallQueue]";
} }
return getUsage(null); return getUsage(null);
} }
@ -222,6 +224,10 @@ public class RouterAdmin extends Configured implements Tool {
if (arg.length > 1) { if (arg.length > 1) {
throw new IllegalArgumentException("No arguments allowed"); throw new IllegalArgumentException("No arguments allowed");
} }
} else if (arg[0].equals("-refreshCallQueue")) {
if (arg.length > 1) {
throw new IllegalArgumentException("No arguments allowed");
}
} }
} }

View File

@ -1563,9 +1563,19 @@ public class TestRouterAdminCLI {
public void testRefreshCallQueue() throws Exception { public void testRefreshCallQueue() throws Exception {
System.setOut(new PrintStream(out)); System.setOut(new PrintStream(out));
System.setErr(new PrintStream(err));
String[] argv = new String[]{"-refreshCallQueue"}; String[] argv = new String[]{"-refreshCallQueue"};
assertEquals(0, ToolRunner.run(admin, argv)); assertEquals(0, ToolRunner.run(admin, argv));
assertTrue(out.toString().contains("Refresh call queue successfully")); assertTrue(out.toString().contains("Refresh call queue successfully"));
argv = new String[]{};
assertEquals(-1, ToolRunner.run(admin, argv));
assertTrue(out.toString().contains("-refreshCallQueue"));
argv = new String[]{"-refreshCallQueue", "redundant"};
assertEquals(-1, ToolRunner.run(admin, argv));
assertTrue(err.toString().contains("No arguments allowed"));
} }
private void addMountTable(String src, String nsId, String dst) private void addMountTable(String src, String nsId, String dst)

View File

@ -447,6 +447,7 @@ Usage:
[-refresh] [-refresh]
[-refreshRouterArgs <host:ipc_port> <key> [arg1..argn]] [-refreshRouterArgs <host:ipc_port> <key> [arg1..argn]]
[-refreshSuperUserGroupsConfiguration] [-refreshSuperUserGroupsConfiguration]
[-refreshCallQueue]
| COMMAND\_OPTION | Description | | COMMAND\_OPTION | Description |
|:---- |:---- | |:---- |:---- |
@ -465,6 +466,7 @@ Usage:
| `-refresh` | Update mount table cache of the connected router. | | `-refresh` | Update mount table cache of the connected router. |
| `refreshRouterArgs` \<host:ipc\_port\> \<key\> [arg1..argn] | To trigger a runtime-refresh of the resource specified by \<key\> on \<host:ipc\_port\>. For example, to enable white list checking, we just need to send a refresh command other than restart the router server. | | `refreshRouterArgs` \<host:ipc\_port\> \<key\> [arg1..argn] | To trigger a runtime-refresh of the resource specified by \<key\> on \<host:ipc\_port\>. For example, to enable white list checking, we just need to send a refresh command other than restart the router server. |
| `-refreshSuperUserGroupsConfiguration` | Refresh superuser proxy groups mappings on Router. | | `-refreshSuperUserGroupsConfiguration` | Refresh superuser proxy groups mappings on Router. |
| `-refreshCallQueue` | Reload the call queue from config for Router. |
The commands for managing Router-based federation. See [Mount table management](../hadoop-hdfs-rbf/HDFSRouterFederation.html#Mount_table_management) for more info. The commands for managing Router-based federation. See [Mount table management](../hadoop-hdfs-rbf/HDFSRouterFederation.html#Mount_table_management) for more info.