[
https://issues.apache.org/jira/browse/KAFKA-4840?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15983300#comment-15983300
]
ASF GitHub Bot commented on KAFKA-4840:
---------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/kafka/pull/2659
> There are are still cases where producer buffer pool will not remove waiters.
> -----------------------------------------------------------------------------
>
> Key: KAFKA-4840
> URL: https://issues.apache.org/jira/browse/KAFKA-4840
> Project: Kafka
> Issue Type: Bug
> Components: clients
> Affects Versions: 0.10.2.0
> Reporter: Sean McCauliff
>
> There are several problems dealing with errors in BufferPool.allocate(int
> size, long maxTimeToBlockMs):
> * The accumulated number of bytes are not put back into the available pool
> when an exception happens and a thread is waiting for bytes to become
> available. This will cause the capacity of the buffer pool to decrease over
> time any time a timeout is hit within this method.
> * If a Throwable other than InterruptedException is thrown out of await() for
> some reason or if there is an exception thrown in the corresponding finally
> block around the await(), for example if waitTime.record(.....) throws an
> exception, then the waiters are not removed from the waiters deque.
> * On timeout or other exception waiters could be signaled, but are not. If
> no other buffers are freed then the next waiting thread will also timeout and
> so on.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)