[
https://issues.apache.org/jira/browse/KAFKA-3378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15198132#comment-15198132
]
ASF GitHub Bot commented on KAFKA-3378:
---------------------------------------
GitHub user llowrey opened a pull request:
https://github.com/apache/kafka/pull/1083
KAFKA-3378 Fix for instantly connecting SocketChannels (v2)
Alternative implementation
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/llowrey/kafka 0.9.0
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/1083.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1083
----
----
> Client blocks forever if SocketChannel connects instantly
> ---------------------------------------------------------
>
> Key: KAFKA-3378
> URL: https://issues.apache.org/jira/browse/KAFKA-3378
> Project: Kafka
> Issue Type: Bug
> Components: clients
> Affects Versions: 0.9.0.1
> Reporter: Larkin Lowrey
> Assignee: Larkin Lowrey
> Priority: Blocker
> Fix For: 0.10.0.0
>
>
> Observed that some consumers were blocked in Fetcher.listOffset() when
> starting many dozens of consumer threads at the same time.
> Selector.connect(...) calls SocketChannel.connect() in non-blocking mode and
> assumes that false is always returned and that the channel will be in the
> Selector's readyKeys once the connection is ready for connect completion due
> to the OP_CONNECT interest op.
> When connect() returns true the channel is fully connected connected and will
> not be included in readyKeys since only OP_CONNECT is set.
> I implemented a fix which handles the case when connect(...) returns true and
> verified that I no longer see stuck consumers. A git pull request will be
> forthcoming.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)