[ https://issues.apache.org/jira/browse/KAFKA-7808?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lee Dongjin updated KAFKA-7808: ------------------------------- Description: In AdminClient#describeTopics, we have the following logic: {code:java} if (!cluster.topics().contains(topicName)) { future.completeExceptionally(new InvalidTopicException("Topic " + topicName + " not found.")); continue; } {code} However, {{InvalidTopicException}} is a non-retriable exception and is used to indicate that topic contains invalid chars or topic name is too long etc, and hence not correct to use. We should, instead, throw the retriable {{UnknownTopicOrPartitionException}} instead. We should make sure any callers on this logic should be cleaned up when fixing it. was: In AdminClient#describeTopic, we have the following logic: {code} if (!cluster.topics().contains(topicName)) { future.completeExceptionally(new InvalidTopicException("Topic " + topicName + " not found.")); continue; } {code} However, {{InvalidTopicException}} is a non-retriable exception and is used to indicate that topic contains invalid chars or topic name is too long etc, and hence not correct to use. We should, instead, throw the retriable {{UnknownTopicOrPartitionException}} instead. We should make sure any callers on this logic should be cleaned up when fixing it. > AdminClient#describeTopics should not throw InvalidTopicException if topic > name is not found > -------------------------------------------------------------------------------------------- > > Key: KAFKA-7808 > URL: https://issues.apache.org/jira/browse/KAFKA-7808 > Project: Kafka > Issue Type: Bug > Components: admin, core > Reporter: Guozhang Wang > Priority: Major > > In AdminClient#describeTopics, we have the following logic: > {code:java} > if (!cluster.topics().contains(topicName)) { > future.completeExceptionally(new > InvalidTopicException("Topic " + topicName + " not found.")); > continue; > } > {code} > However, {{InvalidTopicException}} is a non-retriable exception and is used > to indicate that topic contains invalid chars or topic name is too long etc, > and hence not correct to use. We should, instead, throw the retriable > {{UnknownTopicOrPartitionException}} instead. > We should make sure any callers on this logic should be cleaned up when > fixing it. -- This message was sent by Atlassian JIRA (v7.6.3#76005)