dimitarndimitrov opened a new pull request, #13432:
URL: https://github.com/apache/kafka/pull/13432

   Aside from consistency with the implementation of newer APIs this also 
provides more resilient retries (e.g. in case of TimeoutExceptions) and 
simplifies the code to some extent.
   
   One notable detail is the addition of unsupported version handling in the 
failure callback in the `AdminApiDriver` and as a new callback in the 
`AdminApiHandler`. The handler callback is invoked in case an 
`UnsupportedVersionException` is caught by the driver and returns a flag 
indicating whether the exception could be handled (like the similar callback in 
`Call`).
   - It also seemed prudent to signal whether the exception was caught in the 
fulfillment or the lookup stage (the latter case could then be delegated to the 
lookup strategy), but I don't know if there are actual use-cases for that.
   
   The change has been tested manually and with a new `KafkaAdminClientTest`. 
The retry aspect also unexpectedly stalled a Connect `AdminClientUnitTestEnv` 
test due to retrying after a timeout where the test expected an immediate 
failure.
   Also a JMH benchmark for the deleted equivalent of the fulfillment stage of 
the API has been deleted and not replaced as I wasn't too sure whether I can 
recreate it after the `AdminApiDriver` refactoring.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to