Hi all,

I have a simple Kafka Stream app that consumes from multiple input topics
using the *stream* function that accepts a Pattern (link
<https://kafka.apache.org/26/javadoc/org/apache/kafka/streams/StreamsBuilder.html#stream-java.util.regex.Pattern->
).

Whenever I add a new topic that matches the pattern the kafka stream state
goes to REBALANCING -> ERROR -> PENDING_SHUTDOWN .
If I restart the app it correctly starts reading again without problems.
It is by design? Should I handle this and simply restart the app?

Kafka Stream version is 2.6.0.
The error is the following:

*ERROR o.a.k.s.p.i.ProcessorTopology - Set of source nodes do not match: *
*sourceNodesByName = [KSTREAM-SOURCE-0000000003, KSTREAM-SOURCE-0000000002]*
*sourceTopicsByName = [KSTREAM-SOURCE-0000000000,
KSTREAM-SOURCE-0000000014, KSTREAM-SOURCE-0000000003,
KSTREAM-SOURCE-0000000002]*
*org.apache.kafka.common.KafkaException: User rebalance callback throws an
error*
*  at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.onJoinComplete(ConsumerCoordinator.java:436)*
*  at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded(AbstractCoordinator.java:440)*
*  at
org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:359)*
*  at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:513)*
*  at
org.apache.kafka.clients.consumer.KafkaConsumer.updateAssignmentMetadataIfNeeded(KafkaConsumer.java:1268)*
*  at
org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1230)*
*  at
org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1210)*
*  at
org.apache.kafka.streams.processor.internals.StreamThread.pollRequests(StreamThread.java:766)*
*  at
org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:624)*
*  at
org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:551)*
*  at
org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:510)*
* Caused by: java.lang.IllegalStateException: Tried to update source topics
but source nodes did not match*
*  at
org.apache.kafka.streams.processor.internals.ProcessorTopology.updateSourceTopics(ProcessorTopology.java:151)*
*  at
org.apache.kafka.streams.processor.internals.AbstractTask.update(AbstractTask.java:109)*
*  at
org.apache.kafka.streams.processor.internals.StreamTask.update(StreamTask.java:514)*
*  at
org.apache.kafka.streams.processor.internals.TaskManager.updateInputPartitionsAndResume(TaskManager.java:397)*
*  at
org.apache.kafka.streams.processor.internals.TaskManager.handleAssignment(TaskManager.java:261)*
*  at
org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor.onAssignment(StreamsPartitionAssignor.java:1428)*
*  at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.invokeOnAssignment(ConsumerCoordinator.java:279)*
*  at
org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.onJoinComplete(ConsumerCoordinator.java:421)*
*  ... 10 common frames omitted*
* KafkaStream state is ERROR*
* 17:28:53.200 [datalake-StreamThread-1] ERROR
o.apache.kafka.streams.KafkaStreams - stream-client [datalake] All stream
threads have died. The instance will be in error state and should be
closed.*
* ============> User rebalance callback throws an error*
* KafkaStream state is PENDING_SHUTDOWN*

thanks

Reply via email to