[ 
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)

Reply via email to