[ https://issues.apache.org/jira/browse/KAFKA-4232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15533524#comment-15533524 ]
Ismael Juma commented on KAFKA-4232: ------------------------------------ I see. I was wondering about the following comment and didn't quite get it: "However, this would leave a closed batch at the end of the deque and may cause a subsequent append fail due to MemoryRecords not writable." So, it seems that you are saying that the issue is simply that we are accessing `isWritable` from multiple threads and it's not `volatile` or synchronized. An issue that existed before KAFKA-3747 then? > IllegalStateException may be thrown from producer.send() when a batch is full. > ------------------------------------------------------------------------------ > > Key: KAFKA-4232 > URL: https://issues.apache.org/jira/browse/KAFKA-4232 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.10.0.0 > Reporter: Jiangjie Qin > Assignee: Jiangjie Qin > Priority: Blocker > Fix For: 0.10.1.0 > > > We used to leave the batch not closed if an append failed due to batch is > full. In KAFKA-3747, we changed the behavior to close the batch to save the > memory. However, this would leave a closed batch at the end of the deque and > may cause a subsequent append fail due to MemoryRecords not writable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)