[ https://issues.apache.org/jira/browse/KAFKA-2805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15001559#comment-15001559 ]
Mayuresh Gharat commented on KAFKA-2805: ---------------------------------------- Yes. That s right. The check was put in place because the KIP-19 explicitly mentioned that it should timeout the batches only if the metadata is unavailable. I debugged this today and found the same reasoning. I was going to write the same explanation before I read this comment. My bad, I should have considered that accumulator will not drain the batches for NOT ready nodes and the batches will not be expired since the metadata is stale and has the leader present. I have uploaded a patch for removing the check. > RecordAccumulator request timeout not enforced when all brokers are gone > ------------------------------------------------------------------------ > > Key: KAFKA-2805 > URL: https://issues.apache.org/jira/browse/KAFKA-2805 > Project: Kafka > Issue Type: Bug > Reporter: Jason Gustafson > Assignee: Mayuresh Gharat > Priority: Blocker > Fix For: 0.9.0.0 > > > When no brokers are left in the cluster, the producer seems not to enforce > the request timeout as expected. > From the user mailing list, the null check in batch expiration in > RecordAccumulator seems questionable: > https://github.com/apache/kafka/blob/ae5a5d7c08bb634576a414f6f2864c5b8a7e58a3/clients/src/main/java/org/apache/kafka/clients/producer/internals/RecordAccumulator.java#L220. > > If this is correct behavior, it is probably worthwhile clarifying the purpose > of the check in a comment. -- This message was sent by Atlassian JIRA (v6.3.4#6332)