philipnee opened a new pull request #11797:
URL: https://github.com/apache/kafka/pull/11797


   **Summary**
   The goal of this PR is to fix the compatibility issue regarding
   KAFKA-12879, and this PR is the first step toward the fix by
   adding retry capability to the **TopicAdmin.endoffsets** method.  Such that,
   we will be able to perform KafkaAdminClient retry on the connect side,
   instead on the adminClient side.  In this PR, we added retry capability to 
the
   TopicAdmin when calling endOffsets, and we will perform retry on the
   RetriableException until the _retries_ (max retries) is hit, or api timeout. 
 On the
   connect side, it will be calling retryEndOffsets method to perform 
endOffsets call
   with retries.  This change should be backward compatible to the KAFKA-12339.
   In the subsequent PR - the behavior introduced in KAFKA-12339 will be revert.
   
   Notable changes are:
   **TopicAdmin**
   - Added retryEndOffsets method, which utilizes the new RetryUtil to perform 
retry
   
   **KafkaBasdLog**
   - Call TopicAdmin.retryEndOffsets to perform retry
   
   **RetryUtil**
   - A general utility that receives a Callable, max retry attempt, and backoff 
time in ms, perform retry
   - It only retries on RetriableException, e.g. 
UnknownTopicOrPartitionException, TimeoutException
   
   ### 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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to