[
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)