Lianet Magrans created KAFKA-17470:
--------------------------------------

             Summary: CommitRequestManager should record failed request only 
once even if multiple errors in response
                 Key: KAFKA-17470
                 URL: https://issues.apache.org/jira/browse/KAFKA-17470
             Project: Kafka
          Issue Type: Bug
          Components: clients, consumer
            Reporter: Lianet Magrans
             Fix For: 4.0.0


The commitRequestManager calls onFailedAttempt to register a failed request, 
and this call directly affects the count of attempts, considered to determine 
the backoff to apply. Therefore, this onFailedAttempts should only be called 
once per request, but currently the CommitRequestManager may call it multiple 
times for a single request (if the response contains multiple partition errors):

- on commit: 
[https://github.com/apache/kafka/blob/2f9b23625917fed841a176a73bbbc02bfa330a2d/clients/src/main/java/org/apache/kafka/clients/consumer/internals/CommitRequestManager.java#L726]

- on fetch: 
[https://github.com/apache/kafka/blob/2f9b23625917fed841a176a73bbbc02bfa330a2d/clients/src/main/java/org/apache/kafka/clients/consumer/internals/CommitRequestManager.java#L1049]
 


We should ensure that onFailedAttempt is only called once per request, and add 
a test that covers both cases above, of responses with multiple partition 
errors in it.



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

Reply via email to