[jira] [Commented] (KAFKA-9800) [KIP-580] Admin Client Exponential Backoff Implementation
[ https://issues.apache.org/jira/browse/KAFKA-9800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17074906#comment-17074906 ] ASF GitHub Bot commented on KAFKA-9800: --- d8tltanc commented on pull request #8421: [WIP]KAFKA-9800: [KIP-580] Admin Client Exponential Backoff Implementation URL: https://github.com/apache/kafka/pull/8421 Refactored Call Class Split retry() and fail() Hardcoded the retryBackoffMaxMs for now to pass the existing tests *More detailed description of your change, *Summary of testing strategy (including rationale) ### 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [KIP-580] Admin Client Exponential Backoff Implementation > - > > Key: KAFKA-9800 > URL: https://issues.apache.org/jira/browse/KAFKA-9800 > Project: Kafka > Issue Type: New Feature >Reporter: Cheng Tan >Assignee: Cheng Tan >Priority: Major > Labels: KIP-580 > > In {{KafkaAdminClient}}, we will have to modify the way the retry backoff is > calculated for the calls that have failed and need to be retried. >From the > current static retry backoff, we have to introduce a mechanism for all calls > that upon failure, the next retry time is dynamically calculated. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (KAFKA-9800) [KIP-580] Admin Client Exponential Backoff Implementation
[ https://issues.apache.org/jira/browse/KAFKA-9800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17074241#comment-17074241 ] Cheng Tan commented on KAFKA-9800: -- Some thoughts: *Call* retry(failedCallRetryContext){ failedRetryContext = failedCall.getRetryContext; this.retryContext.update(failedRetryContext) _if_ (tries > maxRetries) { failWithTimeout(now, throwable); _return_; } else { } } getRetryContext(){ return retryContext } getNextAllowTryMS{ } *Retry context* getNextAllowTryMs() { return nextAllowTryMs; } getNumTry() { return numTry } updateNextAllowTryMs(currentAllowTryMs) { |MIN(retry.backoff.max.ms, (retry.backoff.ms * 2**(failures - 1)) * random(0.8, 1.2))| } updateNumTry(currentNumTry) { numTry = currentNumTry++; } updateRetryContext(failedCallRetryContext){ updateNextAllowTryMs(failedCallRetryContext.getNextAllowTryMs) updateNumTry(failedCallRetryContext.getNumTry) } > [KIP-580] Admin Client Exponential Backoff Implementation > - > > Key: KAFKA-9800 > URL: https://issues.apache.org/jira/browse/KAFKA-9800 > Project: Kafka > Issue Type: New Feature >Reporter: Cheng Tan >Assignee: Cheng Tan >Priority: Major > Labels: KIP-580 > > In {{KafkaAdminClient}}, we will have to modify the way the retry backoff is > calculated for the calls that have failed and need to be retried. >From the > current static retry backoff, we have to introduce a mechanism for all calls > that upon failure, the next retry time is dynamically calculated. -- This message was sent by Atlassian Jira (v8.3.4#803005)