You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "xiongqi wu (JIRA)" <ji...@apache.org> on 2018/10/12 20:27:00 UTC
[jira] [Created] (KAFKA-7501) double deallocation of producer batch
upon expiration of inflight requests and error response
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)