Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-5440

Kafka Streams report state RUNNING even if all threads are dead

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 0.10.2.1, 0.11.0.0
    • None
    • streams
    • None

    Description

      From the mailing list:

      Hi All,

      We recently implemented a health check for a Kafka Streams based application. The health check is simply checking the state of Kafka Streams by calling KafkaStreams.state(). It reports healthy if it’s not in PENDING_SHUTDOWN or NOT_RUNNING states.

      We truly appreciate having the possibility to easily check the state of Kafka Streams but to our surprise we noticed that KafkaStreams.state() returns RUNNING even though all StreamThreads has crashed and reached NOT_RUNNING state. Is this intended behaviour or is it a bug? Semantically it seems weird to me that KafkaStreams would say it’s RUNNING when it is in fact not consuming anything since all underlying working threads has crashed.

      If this is intended behaviour I would appreciate an explanation of why that is the case. Also in that case, how could I determine if the consumption from Kafka hasn’t crashed?

      If this is not intended behaviour, how fast could I expect it to be fixed? I wouldn’t mind fixing it myself but I’m not sure if this is considered trivial or big enough to require a JIRA. Also, if I would implement a fix I’d like your input on what would be a reasonable solution. By just inspecting to code I have an idea but I’m not sure I understand all the implication so I’d be happy to hear your thoughts first.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mjsax Matthias J. Sax
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: