Mayuresh Gharat created KAFKA-3651: -------------------------------------- Summary: Whenever the BufferPool throws a "Failed to allocate memory within the configured max blocking time" excepion, it should also remove the condition object from the waiters deque Key: KAFKA-3651 URL: https://issues.apache.org/jira/browse/KAFKA-3651 Project: Kafka Issue Type: Bug Reporter: Mayuresh Gharat Assignee: Mayuresh Gharat
"this.waiters.remove(moreMemory);" should happen before the exception is thrown. .Otherwise the waiting thread count will never get to 0 after the exception and batching will not occur. This is because in the RecordAccumulator.ready method the exhausted is set as boolean exhausted = this.free.queued() > 0 where free.queued() returns the waiters.size(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)