You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by li...@apache.org on 2025/02/21 17:42:07 UTC
(kafka) branch trunk updated: KAFKA-18813: [3/N] Client support for TopicAuthException in DescribeConsumerGroup path (#18996)
This is an automated email from the ASF dual-hosted git repository.
lianetm 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 c580874fc23 KAFKA-18813: [3/N] Client support for TopicAuthException in DescribeConsumerGroup path (#18996)
c580874fc23 is described below
commit c580874fc238fa1880b7c815e02288374af686a2
Author: Lianet Magrans <98...@users.noreply.github.com>
AuthorDate: Fri Feb 21 12:42:00 2025 -0500
KAFKA-18813: [3/N] Client support for TopicAuthException in DescribeConsumerGroup path (#18996)
Reviewers: David Jacot <dj...@confluent.io>
---
.../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));
}