Tom Bentley created KAFKA-12879:
-----------------------------------

             Summary: Compatibility break in Admin.listOffsets()
                 Key: KAFKA-12879
                 URL: https://issues.apache.org/jira/browse/KAFKA-12879
             Project: Kafka
          Issue Type: Bug
          Components: admin
    Affects Versions: 2.6.2, 2.7.1, 2.8.0
            Reporter: Tom Bentley


KAFKA-12339 incompatibly changed the semantics of Admin.listOffsets(). 
Previously it would fail with {{UnknownTopicOrPartitionException}} when a topic 
didn't exist. Now it will (eventually) fail with {{TimeoutException}}. It seems 
this was more or less intentional, even though it would break code which was 
expecting and handling the {{UnknownTopicOrPartitionException}}. A workaround 
is to use {{retries=1}} and inspect the cause of the {{TimeoutException}}, but 
this isn't really suitable for cases where the same Admin client instance is 
being used for other calls where retries is desirable.

Furthermore as well as the intended effect on {{listOffsets()}} it seems that 
the change could actually affect other methods of Admin.

More generally, the Admin client API is vague about which exceptions can 
propagate from which methods. This means that it's not possible to say, in 
cases like this, whether the calling code _should_ have been relying on the 
{{UnknownTopicOrPartitionException}} or not.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to