You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (JIRA)" <ji...@apache.org> on 2019/05/02 00:14:00 UTC

[jira] [Commented] (KAFKA-8313) KafkaStreams state not being updated properly after shutdown

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

Matthias J. Sax commented on KAFKA-8313:
----------------------------------------

Thanks for reporting this. Can you share the stacktrace of the dying threads? If an error occurs during rebalance, this should be detected and we should transit to ERROR -> PENDING_SHOTDOWN -> NOT_RUNNING.

As workaround, can you try to set an `KafkaStreams#setUncaughtExceptionHandler()` that will be called each time a thread died.

> KafkaStreams state not being updated properly after shutdown
> ------------------------------------------------------------
>
>                 Key: KAFKA-8313
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8313
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.2.0
>         Environment: Single broker running on Ubuntu Linux.
>            Reporter: Eric
>            Priority: Minor
>
> I am running a KafkaStreams inside a DropWizard server and I am trying to detect when my stream shuts down (in case a non-recoverable error occurs).  I was hoping I could use KafkaStreams.setStateListener() to be notified when a state change occurs.  When I query the state, KafkaStreams is stuck in the REBALANCING state even though its threads are all DEAD.
>  
> You can easily reproduce this by doing the following:
>  # Create a topic (I have one with 5 partitions)
>  # Create a simple Kafka stream consuming from that topic
>  # Create a StateListener and register it on that KafkaStreams
>  # Start the Kafka stream
>  # Once everything runs, delete the topic using kafka-topics.sh
> When deleting the topic, you will see the StreamThreads' state transition from RUNNING to PARTITION_REVOKED and you will be notified with the KafkaStreams REBALANCING state.  That's all good and expected.  Then the StreamThreads transition to PENDING_SHUTDOWN and eventually to DEAD and the KafkaStreams state is stuck into the REBALANCING thread.  I was expecting to see a NOT_RUNNING state eventually... am I right?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)