Lianet Magrans created KAFKA-16033:
--------------------------------------

             Summary: Review retry logic of OffsetFetch and OffsetCommit 
responses
                 Key: KAFKA-16033
                 URL: https://issues.apache.org/jira/browse/KAFKA-16033
             Project: Kafka
          Issue Type: Sub-task
          Components: clients, consumer
            Reporter: Lianet Magrans
            Assignee: Lianet Magrans


The retry logic for OffsetFetch and OffsetCommit requests lives in the 
CommitRequestManager, and applies to requests issued from multiple components 
(AsyncKakfaConsumer for commitSync and commitAsync, CommitRequestManager for 
the regular auto-commits, MembershipManager for auto-commits before rebalance, 
auto-commit before closing consumer). While this approach helps to avoid having 
the retry logic in each caller, currently the CommitManager has it in different 
places and it ends up being rather hard to follow.

This task aims at reviewing the retry logic from a high level perspective 
(multiple callers, with retry needs that have similarities and differences at 
the same time). So the review should asses the similarities vs differences, and 
then consider two options:
1. Keep retry logic centralized in the CommitManager, but fixed in a more 
consistent way, applied the same way for all requests, depending on the 
intention expressed by the caller. Advantages of this approach (current 
approach + improvement) is that callers that require the same retry logic could 
reuse if, keeping it in a single place (ex. commitSync from the consumer 
retries in the same way as the auto-commit before rebalance). 
2. move retry logic to the caller. This aligns with the way it was done on the 
legacy coordinator, but the main challenge seems to be not duplicating the 
retry logic in callers that require the same.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to