This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/main by this push:
     new 38425ecaf5 Reorganized CLI commands (#6353)
38425ecaf5 is described below

commit 38425ecaf5e91ca12a45ecc2170109a0bfe6c914
Author: Arbaaz Khan <[email protected]>
AuthorDate: Thu Jun 4 15:41:45 2026 -0400

    Reorganized CLI commands (#6353)
---
 .../accumulo/server/conf/util/ZooInfoViewer.java   |  4 +-
 .../accumulo/server/conf/util/ZooPropEditor.java   |  4 +-
 .../apache/accumulo/server/util/DumpZookeeper.java |  6 +--
 .../server/util/RemoveEntriesForMissingFiles.java  |  2 +-
 .../util/ServerProcessKeywordExecutable.java       |  2 +-
 .../apache/accumulo/server/util/ZooKeeperMain.java |  6 +--
 .../org/apache/accumulo/server/util/ZooZap.java    |  6 +--
 .../server/util/adminCommand/RestoreZookeeper.java |  6 +--
 .../server/util/adminCommand/SystemCheck.java      |  4 +-
 .../util/adminCommand/VerifyTabletAssignments.java |  2 +-
 .../main/java/org/apache/accumulo/start/Main.java  |  5 ++-
 .../apache/accumulo/start/spi/CommandGroups.java   | 46 ++++++++++++++++++++++
 .../apache/accumulo/test/start/KeywordStartIT.java | 21 +++++-----
 13 files changed, 80 insertions(+), 34 deletions(-)

diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
index 90873de9a2..7a59264102 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooInfoViewer.java
@@ -103,7 +103,7 @@ public class ZooInfoViewer extends 
ServerKeywordExecutable<ViewerOpts> {
 
   @Override
   public String keyword() {
-    return "zoo-info-viewer";
+    return "info-viewer";
   }
 
   @Override
@@ -113,7 +113,7 @@ public class ZooInfoViewer extends 
ServerKeywordExecutable<ViewerOpts> {
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.CONFIG;
+    return CommandGroups.ZOOKEEPER;
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
index f4dcacc935..7145570811 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/conf/util/ZooPropEditor.java
@@ -76,7 +76,7 @@ public class ZooPropEditor extends 
ServerKeywordExecutable<EditorOpts> {
 
   @Override
   public String keyword() {
-    return "zoo-prop-editor";
+    return "prop-editor";
   }
 
   @Override
@@ -87,7 +87,7 @@ public class ZooPropEditor extends 
ServerKeywordExecutable<EditorOpts> {
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.CONFIG;
+    return CommandGroups.ZOOKEEPER;
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/DumpZookeeper.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/DumpZookeeper.java
index 14bfbab2ac..0043f82368 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/DumpZookeeper.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/DumpZookeeper.java
@@ -45,17 +45,17 @@ public class DumpZookeeper extends 
ServerKeywordExecutable<DumpZooOpts> {
 
   @Override
   public String keyword() {
-    return "dump-zoo";
+    return "dump";
   }
 
   @Override
   public String description() {
-    return "Writes Zookeeper data as human readable or XML to a file.";
+    return "Writes ZooKeeper data as human readable or XML to a file.";
   }
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.CONFIG;
+    return CommandGroups.ZOOKEEPER;
   }
 
   private static class Encoded {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/RemoveEntriesForMissingFiles.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/RemoveEntriesForMissingFiles.java
index b5541fa556..1a1dad94bc 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/RemoveEntriesForMissingFiles.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/RemoveEntriesForMissingFiles.java
@@ -244,7 +244,7 @@ public class RemoveEntriesForMissingFiles extends 
ServerKeywordExecutable<Remove
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.INSTANCE;
+    return CommandGroups.CHECK;
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServerProcessKeywordExecutable.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServerProcessKeywordExecutable.java
index de6bd3b361..c76750d9a6 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ServerProcessKeywordExecutable.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ServerProcessKeywordExecutable.java
@@ -45,7 +45,7 @@ public abstract class ServerProcessKeywordExecutable 
implements KeywordExecutabl
 
   @Override
   public String description() {
-    return "Starts Accumulo " + name;
+    return "Runs Accumulo " + name;
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java
index 68a65d197d..a59f7624d9 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/ZooKeeperMain.java
@@ -49,17 +49,17 @@ public class ZooKeeperMain extends 
ServerKeywordExecutable<ZKOpts> {
 
   @Override
   public String keyword() {
-    return "zk-cli";
+    return "cli";
   }
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.INSTANCE;
+    return CommandGroups.ZOOKEEPER;
   }
 
   @Override
   public String description() {
-    return "Starts an Apache Zookeeper client rooted at the current instance.";
+    return "Starts an Apache ZooKeeper client rooted at the current instance.";
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java 
b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
index c5b417885b..f93571c255 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/ZooZap.java
@@ -65,17 +65,17 @@ public class ZooZap extends 
ServerKeywordExecutable<ZapOpts> {
 
   @Override
   public String keyword() {
-    return "zoo-zap";
+    return "zap";
   }
 
   @Override
   public String description() {
-    return "Utility for zapping Zookeeper locks";
+    return "Utility for zapping ZooKeeper locks";
   }
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.PROCESS;
+    return CommandGroups.ZOOKEEPER;
   }
 
   static class ZapOpts extends ServerOpts {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/RestoreZookeeper.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/RestoreZookeeper.java
index 2773a4d986..b5ce1152e1 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/RestoreZookeeper.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/RestoreZookeeper.java
@@ -129,17 +129,17 @@ public class RestoreZookeeper extends 
ServerKeywordExecutable<RestoreZooCommandO
 
   @Override
   public String keyword() {
-    return "restore-zookeeper";
+    return "restore";
   }
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.CONFIG;
+    return CommandGroups.ZOOKEEPER;
   }
 
   @Override
   public String description() {
-    return "Restore Zookeeper data from a file.";
+    return "Restore ZooKeeper data from a file.";
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/SystemCheck.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/SystemCheck.java
index 0fa57b6f82..c897603760 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/SystemCheck.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/SystemCheck.java
@@ -165,12 +165,12 @@ public class SystemCheck extends 
ServerKeywordExecutable<CheckCommandOpts> {
 
   @Override
   public String keyword() {
-    return "check";
+    return "system";
   }
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.INSTANCE;
+    return CommandGroups.CHECK;
   }
 
   @Override
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/VerifyTabletAssignments.java
 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/VerifyTabletAssignments.java
index 85d82c17d0..dec97210a5 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/VerifyTabletAssignments.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/util/adminCommand/VerifyTabletAssignments.java
@@ -92,7 +92,7 @@ public class VerifyTabletAssignments extends 
ServerKeywordExecutable<VerifyTable
 
   @Override
   public CommandGroup commandGroup() {
-    return CommandGroups.INSTANCE;
+    return CommandGroups.CHECK;
   }
 
   @Override
diff --git a/start/src/main/java/org/apache/accumulo/start/Main.java 
b/start/src/main/java/org/apache/accumulo/start/Main.java
index e7355c04ce..fa92224e5a 100644
--- a/start/src/main/java/org/apache/accumulo/start/Main.java
+++ b/start/src/main/java/org/apache/accumulo/start/Main.java
@@ -48,7 +48,8 @@ public class Main {
       printUsage();
       System.exit(1);
     }
-    if (args[0].equals("-h") || args[0].equals("-help") || 
args[0].equals("--help")) {
+    if (args[0].equals("-h") || args[0].equals("-help") || 
args[0].equals("--help")
+        || args[0].equals("-?")) {
       printUsage();
       return;
     }
@@ -199,7 +200,7 @@ public class Main {
         """
 
             Usage one of:
-                accumulo --help
+                accumulo --help | -help | -h | -?
                     Prints this help
 
                 accumulo classpath
diff --git 
a/start/src/main/java/org/apache/accumulo/start/spi/CommandGroups.java 
b/start/src/main/java/org/apache/accumulo/start/spi/CommandGroups.java
index 252bbeedf2..8a46eb2aff 100644
--- a/start/src/main/java/org/apache/accumulo/start/spi/CommandGroups.java
+++ b/start/src/main/java/org/apache/accumulo/start/spi/CommandGroups.java
@@ -33,6 +33,8 @@ public class CommandGroups {
   public static final CommandGroup OTHER = new OtherCommandGroup();
   public static final CommandGroup PROCESS = new ProcessCommandGroup();
   public static final CommandGroup TABLE = new TableCommandGroup();
+  public static final CommandGroup ZOOKEEPER = new ZookeeperCommandGroup();
+  public static final CommandGroup CHECK = new CheckCommandGroup();
 
   /**
    * @since 4.0.0
@@ -244,4 +246,48 @@ public class CommandGroups {
     }
   }
 
+  /**
+   * @since 4.0.0
+   */
+  public static class ZookeeperCommandGroup extends BaseCommandGroup {
+
+    private ZookeeperCommandGroup() {}
+
+    @Override
+    public String key() {
+      return "zk";
+    }
+
+    @Override
+    public String title() {
+      return "ZooKeeper";
+    }
+
+    @Override
+    public String description() {
+      return "ZooKeeper related commands";
+    }
+  }
+
+  /**
+   * @since 4.0.0
+   */
+  public static class CheckCommandGroup extends BaseCommandGroup {
+
+    @Override
+    public String key() {
+      return "check";
+    }
+
+    @Override
+    public String title() {
+      return "Check";
+    }
+
+    @Override
+    public String description() {
+      return "Troubleshooting and verification commands";
+    }
+  }
+
 }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java 
b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
index 04f302b63d..e97eeb0971 100644
--- a/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/start/KeywordStartIT.java
@@ -185,7 +185,7 @@ public class KeywordStartIT {
     expectSet.add(new CommandInfo(TestCommandGroup.INSTANCE, "binary-rows", 
TestBinaryRows.class));
     expectSet.add(new CommandInfo(CommandGroups.COMPACTION, "cancel", 
CancelCompaction.class));
     expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "change-secret", 
ChangeSecret.class));
-    expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "check", 
SystemCheck.class));
+    expectSet.add(new CommandInfo(CommandGroups.CHECK, "system", 
SystemCheck.class));
     expectSet.add(new CommandInfo(CommandGroups.CONFIG, 
"check-accumulo-properties",
         CheckAccumuloProperties.class));
     expectSet.add(new CommandInfo(CommandGroups.CONFIG, 
"check-compaction-config",
@@ -196,7 +196,7 @@ public class KeywordStartIT {
     expectSet
         .add(new CommandInfo(CommandGroups.INSTANCE, "delete-instance", 
DeleteZooInstance.class));
     expectSet.add(new CommandInfo(CommandGroups.CONFIG, "dump-config", 
DumpConfig.class));
-    expectSet.add(new CommandInfo(CommandGroups.CONFIG, "dump-zoo", 
DumpZookeeper.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "dump", 
DumpZookeeper.class));
     expectSet.add(new CommandInfo(CommandGroups.CONFIG, "import", 
ImportConfigCommand.class));
     expectSet.add(new CommandInfo(CommandGroups.CONFIG, "export", 
ExportConfigCommand.class));
     expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "fate", Fate.class));
@@ -221,8 +221,8 @@ public class KeywordStartIT {
     expectSet.add(new CommandInfo(CommandGroups.PROCESS, "manager", 
ManagerExecutable.class));
     expectSet
         .add(new CommandInfo(CommandGroups.PROCESS, "minicluster", 
MiniClusterExecutable.class));
-    expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "missing-files",
-        RemoveEntriesForMissingFiles.class));
+    expectSet.add(
+        new CommandInfo(CommandGroups.CHECK, "missing-files", 
RemoveEntriesForMissingFiles.class));
     expectSet.add(new CommandInfo(CommandGroups.PROCESS, "monitor", 
MonitorExecutable.class));
     expectSet.add(new CommandInfo(TestCommandGroup.INSTANCE, 
"multi-table-ingest",
         TestMultiTableIngest.class));
@@ -232,8 +232,7 @@ public class KeywordStartIT {
     expectSet.add(new CommandInfo(TestCommandGroup.INSTANCE, "random-writer", 
RandomWriter.class));
     expectSet.add(new CommandInfo(CommandGroups.INSTANCE, 
"remove-scan-server-references",
         ScanServerMetadataEntries.class));
-    expectSet
-        .add(new CommandInfo(CommandGroups.CONFIG, "restore-zookeeper", 
RestoreZookeeper.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "restore", 
RestoreZookeeper.class));
     expectSet.add(new CommandInfo(CommandGroups.FILE, "rfile-info", 
PrintInfo.class));
     expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "service-status", 
ServiceStatus.class));
     expectSet.add(new CommandInfo(CommandGroups.CLIENT, "shell", Shell.class));
@@ -247,14 +246,14 @@ public class KeywordStartIT {
     expectSet.add(new CommandInfo(CommandGroups.PROCESS, "tserver", 
TServerExecutable.class));
     expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "upgrade", 
UpgradeUtil.class));
     expectSet.add(new CommandInfo(TestCommandGroup.INSTANCE, "verify-ingest", 
VerifyIngest.class));
-    expectSet.add(new CommandInfo(CommandGroups.INSTANCE, 
"verify-tablet-assignments",
+    expectSet.add(new CommandInfo(CommandGroups.CHECK, 
"verify-tablet-assignments",
         VerifyTabletAssignments.class));
     expectSet.add(new CommandInfo(CommandGroups.CLIENT, "version", 
Version.class));
     expectSet.add(new CommandInfo(CommandGroups.FILE, "wal-info", 
LogReader.class));
-    expectSet.add(new CommandInfo(CommandGroups.CONFIG, "zoo-info-viewer", 
ZooInfoViewer.class));
-    expectSet.add(new CommandInfo(CommandGroups.CONFIG, "zoo-prop-editor", 
ZooPropEditor.class));
-    expectSet.add(new CommandInfo(CommandGroups.PROCESS, "zoo-zap", 
ZooZap.class));
-    expectSet.add(new CommandInfo(CommandGroups.INSTANCE, "zk-cli", 
ZooKeeperMain.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "info-viewer", 
ZooInfoViewer.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "prop-editor", 
ZooPropEditor.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "zap", 
ZooZap.class));
+    expectSet.add(new CommandInfo(CommandGroups.ZOOKEEPER, "cli", 
ZooKeeperMain.class));
 
     Map<CommandGroup,Map<String,KeywordExecutable>> actualExecutables = 
getKeywordExecutables();
     SortedSet<CommandInfo> actualSet = new TreeSet<>();

Reply via email to