Larkin Lowrey created KAFKA-3378:
------------------------------------

             Summary: 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


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)

Reply via email to