From e37b53fa4ab5ce0cad405212571f6013f05589a4 Mon Sep 17 00:00:00 2001 From: Abhishek Pal Date: Mon, 20 Jul 2026 23:58:37 +0530 Subject: [PATCH 1/2] RATIS-2610. -groupid should check for non-empty ID --- .../src/main/java/org/apache/ratis/shell/cli/CliUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java b/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java index a4a30ae776..08999a7220 100644 --- a/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java +++ b/ratis-shell/src/main/java/org/apache/ratis/shell/cli/CliUtils.java @@ -96,7 +96,7 @@ public static List parseRaftPeers(String peers) { /** Parse the given string as a {@link RaftGroupId}. */ public static RaftGroupId parseRaftGroupId(String groupId) { - return groupId != null && groupId.isEmpty() ? RaftGroupId.valueOf(UUID.fromString(groupId)) : null; + return groupId != null && !groupId.isEmpty() ? RaftGroupId.valueOf(UUID.fromString(groupId)) : null; } /** From d7d0fc969d33911bdd455f683b9a4acbf8e30e63 Mon Sep 17 00:00:00 2001 From: Abhishek Pal Date: Tue, 21 Jul 2026 00:27:21 +0530 Subject: [PATCH 2/2] Add tests for -groupid --- .../apache/ratis/shell/cli/TestCliUtils.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java b/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java index 151914b64a..2bdac3ab91 100644 --- a/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java +++ b/ratis-test/src/test/java/org/apache/ratis/shell/cli/TestCliUtils.java @@ -17,6 +17,7 @@ */ package org.apache.ratis.shell.cli; +import org.apache.ratis.protocol.RaftGroupId; import org.apache.ratis.protocol.RaftPeer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -25,6 +26,7 @@ import java.net.Inet6Address; import java.net.InetSocketAddress; import java.util.List; +import java.util.UUID; public class TestCliUtils { @@ -61,4 +63,27 @@ public void testParseRejectsScheme() { Assertions.assertThrows(IllegalArgumentException.class, () -> CliUtils.parseInetSocketAddress("http://127.0.0.1:6000")); } + + @Test + public void testParseRaftGroupIdNull() { + Assertions.assertNull(CliUtils.parseRaftGroupId(null)); + } + + @Test + public void testParseRaftGroupIdEmpty() { + Assertions.assertNull(CliUtils.parseRaftGroupId("")); + } + + @Test + public void testParseRaftGroupIdValid() { + final UUID uuid = UUID.randomUUID(); + final RaftGroupId groupId = CliUtils.parseRaftGroupId(uuid.toString()); + Assertions.assertEquals(RaftGroupId.valueOf(uuid), groupId); + } + + @Test + public void testParseRaftGroupIdInvalid() { + Assertions.assertThrows(IllegalArgumentException.class, + () -> CliUtils.parseRaftGroupId("not-a-uuid")); + } }