d8tltanc commented on a change in pull request #8846: URL: https://github.com/apache/kafka/pull/8846#discussion_r468736687
########## File path: clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java ########## @@ -721,6 +730,11 @@ protected Node curNode() { return curNode; } + final void incrementRetryBackoff(Call failedCall, long now) { Review comment: For DescribeConsumerGroup and ListOffsets, AdminClient will construct a chain of requests. For example, DescribeConsumerGroup will send a FindCoordinatorRequest and then a DescribeGroupRequest (Denote them as F and D). Let's consider this case: F (Error, tries = 0) -> F (OK, tries = 1) -> D (Error, tries = 1) -> F (OK, tries = 2) -> D (OK, tries = 2) F may come after either a failed F or failed D. It should increase the attempts based on either the attempts of F or D. D will come after a succeeded F. It should increase the attempts based on the attempts of F. Either F and D need to be aware of the number of attempts of the previously failed request to set their own attempts properly. Since F and D are separate objects and does not share any memory region, we can probably only to pass the failed call instance for constructing their status properly. ---------------------------------------------------------------- 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