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

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

You mean there is no exception coming from `KafkaStreams` object? That's 
correct and expected, because `KafkaStreams` starts back ground thread 
(StreamThread) and the exception is only thrown on the thread. Java cannot 
populate exceptions from one thread to another.

However, you can register an handler to get a callback when a thread dies due 
to an exception: Cf 
[https://kafka.apache.org/documentation/streams/developer-guide/write-streams.html],
 ie, `KafkaStreams#setUncaughtExceptionHandler()`

Furthermore, you can listen to state changes via 
`KafkaStreams#setStateListener()`.

This should allow you to react to this event and shut down your application. 
Let us know if this answers you question. I think that this ticket should be 
close as "not a problem".

> Missing topic causes service shutdown without exception
> -------------------------------------------------------
>
>                 Key: KAFKA-7970
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7970
>             Project: Kafka
>          Issue Type: Bug
>          Components: streams
>    Affects Versions: 2.1.0
>            Reporter: Jonny Heavey
>            Priority: Minor
>
> When launching a KafkaStreams application that depends on a topic that 
> doesn't exist, the streams application correctly logs an error such as:
> "<TOPIC_NAME> is unknown yet during rebalance, please make sure they have 
> been pre-created before starting the Streams application."
> The stream is then shutdown, however, no exception is thrown indicating that 
> an error has occurred.
> In our circumstances, we run our streams app inside a container. The streams 
> service is shutdown, but the process is not exited, meaning that the 
> container does not crash (reducing visibility of the issue).
> As no exception is thrown in the missing topic scenario described above, our 
> application code has no way to determine that something is wrong that would 
> then allow it to terminate the process.
>  
> Could the onPartitionsAssigned method in StreamThread.java throw an exception 
> when it decides to shutdown the stream (somewhere around line 264)?



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

Reply via email to