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)

Reply via email to