You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Catalina-Alina Dobrica (JIRA)" <ji...@apache.org> on 2016/11/09 12:20:58 UTC

[jira] [Commented] (KAFKA-4189) Consumer poll hangs forever if kafka is disabled

    [ https://issues.apache.org/jira/browse/KAFKA-4189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15650781#comment-15650781 ] 

Catalina-Alina Dobrica commented on KAFKA-4189:
-----------------------------------------------

This issue also prevents the consumer's thread from being interrupted. This is particularly relevant when the consumer is integrated in an external system - like a camel ecosystem. Trying to force the shutdown of the ExecutorService that manages the thread or to terminate the thread itself has no effect and the thread is in an infinite loop in org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient#awaitMetadataUpdate(). This eventually leads to OOME if enough such threads are started.
I found this issue when providing an incorrect SSL protocol to the consumer in version 0.10.1.0, but it can occur in any circumstance where the channel is not established - such as not having kafka enabled. The thread loops infinitely to check if this connection was established, which, in some cases, will never happen.

> Consumer poll hangs forever if kafka is disabled
> ------------------------------------------------
>
>                 Key: KAFKA-4189
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4189
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients, consumer
>    Affects Versions: 0.9.0.1, 0.10.0.1
>            Reporter: Tomas Benc
>            Priority: Critical
>
> We develop web application, where client sends REST request and our application downloads messages from Kafka and sends those messages back to client. In our web application we use "New Consumer API" (not High Level nor Simple Consumer API).
> Problem occurs in case of disabling Kafka and web application is running on. Application receives request and tries to poll messages from Kafka. Processing is on that line blocked until Kafka is enabled.
> ConsumerRecords<byte[], byte[]> records = consumer.poll(1000);
> Timeout parameter of the poll method has no influence in such case. I expect poll method could throw some Exception describing about connection issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)