You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Mayuresh Gharat (JIRA)" <ji...@apache.org> on 2016/05/03 23:08:12 UTC
[jira] [Created] (KAFKA-3651) 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
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)