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

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


The following commit(s) were added to refs/heads/4.0 by this push:
     new 364479cf24d KAFKA-18813: [3/N] Client support for TopicAuthException 
in DescribeConsumerGroup path (#18996)
364479cf24d is described below

commit 364479cf24d9829d84073f490aa864eb6fa3540f
Author: Lianet Magrans <[email protected]>
AuthorDate: Fri Feb 21 12:42:00 2025 -0500

    KAFKA-18813: [3/N] Client support for TopicAuthException in 
DescribeConsumerGroup path (#18996)
    
    Reviewers: David Jacot <[email protected]>
---
 .../kafka/clients/admin/internals/DescribeConsumerGroupsHandler.java    | 2 ++
 .../clients/admin/internals/DescribeConsumerGroupsHandlerTest.java      | 2 ++
 2 files changed, 4 insertions(+)

diff --git 
a/clients/src/main/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandler.java
 
b/clients/src/main/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandler.java
index 457675e9267..6a04873c0b7 100644
--- 
a/clients/src/main/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandler.java
+++ 
b/clients/src/main/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandler.java
@@ -331,7 +331,9 @@ public class DescribeConsumerGroupsHandler implements 
AdminApiHandler<Coordinato
 
         switch (error) {
             case GROUP_AUTHORIZATION_FAILED:
+            case TOPIC_AUTHORIZATION_FAILED:
                 log.debug("`{}` request for group id {} failed due to error 
{}.", apiName, groupId.idValue, error);
+                // The topic auth response received on DescribeConsumerGroup 
is a generic one not including topic names, so we just pass it on unchanged 
here.
                 failed.put(groupId, error.exception(errorMsg));
                 break;
 
diff --git 
a/clients/src/test/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandlerTest.java
 
b/clients/src/test/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandlerTest.java
index 20cf0b761e6..444795b3680 100644
--- 
a/clients/src/test/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandlerTest.java
+++ 
b/clients/src/test/java/org/apache/kafka/clients/admin/internals/DescribeConsumerGroupsHandlerTest.java
@@ -30,6 +30,7 @@ import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.errors.GroupAuthorizationException;
 import org.apache.kafka.common.errors.GroupIdNotFoundException;
 import org.apache.kafka.common.errors.InvalidGroupIdException;
+import org.apache.kafka.common.errors.TopicAuthorizationException;
 import org.apache.kafka.common.errors.UnsupportedVersionException;
 import org.apache.kafka.common.message.ConsumerGroupDescribeRequestData;
 import org.apache.kafka.common.message.ConsumerGroupDescribeResponseData;
@@ -321,6 +322,7 @@ public class DescribeConsumerGroupsHandlerTest {
     @Test
     public void testFailedHandleConsumerGroupResponse() {
         assertFailed(GroupAuthorizationException.class, 
handleConsumerGroupWithError(Errors.GROUP_AUTHORIZATION_FAILED));
+        assertFailed(TopicAuthorizationException.class, 
handleConsumerGroupWithError(Errors.TOPIC_AUTHORIZATION_FAILED));
         assertFailed(InvalidGroupIdException.class, 
handleConsumerGroupWithError(Errors.INVALID_GROUP_ID));
     }
 

Reply via email to