xiongqi wu created KAFKA-7501:
---------------------------------

             Summary: double deallocation of producer batch upon expiration of 
inflight requests and error response
                 Key: KAFKA-7501
                 URL: https://issues.apache.org/jira/browse/KAFKA-7501
             Project: Kafka
          Issue Type: Bug
          Components: clients
            Reporter: xiongqi wu
            Assignee: xiongqi wu


The following event sequence will lead to double deallocation of a producer 
batch.

1) a producer batch is sent and the response is not received. 

2) the inflight producer batch is expired when deliveryTimeoutMs has reached.  
The  sender fail the producer batch via "failBatch" and the producer batch is 
deallocated via "accumulator.deallocate(batch)". 

3) the response for the batch finally arrived after batch expiration, and the 
response contains the error "Errors.MESSAGE_TOO_LARGE" .

4) the producer batch is split and the original batch is deallocated a second 
time. As a result, the "IllegalStateException" will be raised. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to