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

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


The following commit(s) were added to refs/heads/2.1 by this push:
     new cb7f4f9c56 Throw exception on illegal mapping in 
NamespacePermision.getEquivalent() (#5898)
cb7f4f9c56 is described below

commit cb7f4f9c56731a59b5cb498b503f34dbd511daae
Author: Dom G. <[email protected]>
AuthorDate: Fri Sep 19 16:00:04 2025 -0400

    Throw exception on illegal mapping in NamespacePermision.getEquivalent() 
(#5898)
---
 .../org/apache/accumulo/core/security/NamespacePermission.java    | 3 ++-
 .../apache/accumulo/core/security/NamespacePermissionsTest.java   | 8 +++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/security/NamespacePermission.java 
b/core/src/main/java/org/apache/accumulo/core/security/NamespacePermission.java
index 64ecc511ba..d6b69ad3ed 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/security/NamespacePermission.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/security/NamespacePermission.java
@@ -125,7 +125,8 @@ public enum NamespacePermission {
       case DROP_NAMESPACE:
         return NamespacePermission.DROP_NAMESPACE;
       case GRANT:
-        return NamespacePermission.ALTER_NAMESPACE;
+        throw new IllegalArgumentException(
+            "SystemPermission.GRANT has no equivalent NamespacePermission. 
GRANT operations require special handling in SecurityOperation.");
       case CREATE_NAMESPACE:
       case CREATE_USER:
       case DROP_USER:
diff --git 
a/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
 
b/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
index 50daf3e3ed..31a842cdcb 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/security/NamespacePermissionsTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.accumulo.core.security;
 
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.EnumSet;
@@ -33,7 +34,12 @@ public class NamespacePermissionsTest {
       set.remove(NamespacePermission.getEquivalent(permission));
     }
     for (SystemPermission permission : SystemPermission.values()) {
-      set.remove(NamespacePermission.getEquivalent(permission));
+      if (permission == SystemPermission.GRANT) {
+        assertThrows(IllegalArgumentException.class,
+            () -> NamespacePermission.getEquivalent(permission), "GRANT has no 
equivalent");
+      } else {
+        set.remove(NamespacePermission.getEquivalent(permission));
+      }
     }
 
     assertTrue(set.isEmpty(),

Reply via email to