You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by sh...@apache.org on 2023/09/19 10:01:05 UTC

[kafka] branch trunk updated: MINOR: Fix format of allowed operations in kafka-acls error message (#14395)

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

showuon pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 073b9a2a1ec MINOR: Fix format of allowed operations in kafka-acls error message (#14395)
073b9a2a1ec is described below

commit 073b9a2a1ec650c3f4af17310608c23d82a7e243
Author: Jouni Tenhunen <42...@users.noreply.github.com>
AuthorDate: Tue Sep 19 13:00:59 2023 +0300

    MINOR: Fix format of allowed operations in kafka-acls error message (#14395)
    
    kafka-acls cli prints the following error message on invalid operation:
    
    $ kafka-acls --bootstrap-server xxx:9095 --remove --allow-principal "User:abc" --allow-host * --operation DESCRIBE_CONFIGS --topic xyz
    ResourceType TOPIC only supports operations WRITE,DESCRIBE,ALL,READ,CREATE,ALTER,DELETE,DESCRIBE_CONFIGS,ALTER_CONFIGS
    
    The following command actually works:
    
    $ kafka-acls --bootstrap-server xxx:9095 --remove --allow-principal "User:abc" --allow-host * --operation DescribeConfigs --topic xyz
    
    This PR fixes the invalid formating of operations in the error message and adds a space after the comma.
---
 core/src/main/scala/kafka/admin/AclCommand.scala | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/core/src/main/scala/kafka/admin/AclCommand.scala b/core/src/main/scala/kafka/admin/AclCommand.scala
index 1c8b6537346..dbae6ef8507 100644
--- a/core/src/main/scala/kafka/admin/AclCommand.scala
+++ b/core/src/main/scala/kafka/admin/AclCommand.scala
@@ -487,7 +487,7 @@ object AclCommand extends Logging {
     for ((resource, acls) <- resourceToAcls) {
       val validOps = AclEntry.supportedOperations(resource.resourceType) + AclOperation.ALL
       if ((acls.map(_.operation) -- validOps).nonEmpty)
-        CommandLineUtils.printUsageAndExit(opts.parser, s"ResourceType ${resource.resourceType} only supports operations ${validOps.mkString(",")}")
+        CommandLineUtils.printUsageAndExit(opts.parser, s"ResourceType ${resource.resourceType} only supports operations ${validOps.map(JSecurityUtils.operationName(_)).mkString(", ")}")
     }
   }