You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jay Kreps (JIRA)" <ji...@apache.org> on 2015/01/23 19:29:34 UTC

[jira] [Created] (KAFKA-1894) Avoid long or infinite blocking in the consumer

Jay Kreps created KAFKA-1894:
--------------------------------

             Summary: Avoid long or infinite blocking in the consumer
                 Key: KAFKA-1894
                 URL: https://issues.apache.org/jira/browse/KAFKA-1894
             Project: Kafka
          Issue Type: Sub-task
            Reporter: Jay Kreps


The new consumer has a lot of loops that look something like
{code}
  while(!isThingComplete())
    client.poll();
{code}

This occurs both in KafkaConsumer but also in NetworkClient.completeAll. These retry loops are actually mostly the behavior we want but there are several cases where they may cause problems:
 - In the case of a hard failure we may hang for a long time or indefinitely before realizing the connection is lost.
 - In the case where the cluster is malfunctioning or down we may retry forever.

It would probably be better to give a timeout to these. The proposed approach would be to add something like retry.time.ms=60000 and only continue retrying for that period of time.



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