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));
}