You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Matthias J. Sax (JIRA)" <ji...@apache.org> on 2017/10/25 23:52:00 UTC

[jira] [Created] (KAFKA-6127) Streams should never block infinitely

Matthias J. Sax created KAFKA-6127:
--------------------------------------

             Summary: Streams should never block infinitely
                 Key: KAFKA-6127
                 URL: https://issues.apache.org/jira/browse/KAFKA-6127
             Project: Kafka
          Issue Type: Bug
          Components: streams
    Affects Versions: 1.0.0
            Reporter: Matthias J. Sax


Streams uses three consumer APIs that can block infinite: {{commitSync()}}, {{committed()}}, and {{position()}}.

If we block within one operation, the whole {{StreamThread}} would block, and the instance does not make any progress, becomes unresponsive (for example, {{KafkaStreams#close()}} suffers), and we also might drop out of the consumer group.

We might consider to use {{wakeup()}} calls to unblock those operations to keep {{StreamThread}} in a responsive state.

Note: there are discussion to add timeout to those calls, and thus, we could get {{TimeoutExceptions}}. This would be easier to handle than using {{wakeup()}}. Thus, we should keep an eye on those discussions. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)