[ https://issues.apache.org/jira/browse/KAFKA-14646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17680181#comment-17680181 ]
Jochen Schalanda commented on KAFKA-14646: ------------------------------------------ Could it still be that the check in [https://github.com/apache/kafka/blob/3.3.2/streams/src/main/java/org/apache/kafka/streams/kstream/internals/foreignkeyjoin/SubscriptionStoreReceiveProcessorSupplier.java#L94-L99] is too restrictive and should read *{{record.value().getVersion() > SubscriptionWrapper.CURRENT_VERSION}}* instead? > SubscriptionWrapper is of an incompatible version (Kafka Streams 3.2.3 -> > 3.3.2) > -------------------------------------------------------------------------------- > > Key: KAFKA-14646 > URL: https://issues.apache.org/jira/browse/KAFKA-14646 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 3.3.2 > Environment: Kafka Streams 3.2.3 (before update) > Kafka Streams 3.3.2 (after update) > Java 17 (Eclipse Temurin 17.0.5), Linux x86_64 > Reporter: Jochen Schalanda > Priority: Major > > Hey folks, > > we've just updated an application from *_Kafka Streams 3.2.3 to 3.3.2_* and > started getting the following exceptions: > {code:java} > org.apache.kafka.common.errors.UnsupportedVersionException: > SubscriptionWrapper is of an incompatible version. {code} > After swiftly looking through the code, this exception is potentially thrown > in two places: > * > [https://github.com/apache/kafka/blob/3.3.2/streams/src/main/java/org/apache/kafka/streams/kstream/internals/foreignkeyjoin/SubscriptionJoinForeignProcessorSupplier.java#L73-L78] > ** Here the check was changed in Kafka 3.3.x: > [https://github.com/apache/kafka/commit/9dd25ecd9ce17e608c6aba98e0422b26ed133c12] > * > [https://github.com/apache/kafka/blob/3.3.2/streams/src/main/java/org/apache/kafka/streams/kstream/internals/foreignkeyjoin/SubscriptionStoreReceiveProcessorSupplier.java#L94-L99] > ** Here the check wasn't changed. > > Is it possible that the second check in > {{SubscriptionStoreReceiveProcessorSupplier<K, KO>}} was forgotten? > > Any hints how to resolve this issue without a downgrade? > Since this only affects 2 of 15 topologies in the application, I'm hesitant > to just downgrade to Kafka 3.2.3 again since the internal topics might > already have been updated to use the "new" version of > {{{}SubscriptionWrapper{}}}. > > Related discussion in the Confluent Community Slack: > [https://confluentcommunity.slack.com/archives/C48AHTCUQ/p1674497054507119] > h2. Stack trace > {code:java} > org.apache.kafka.streams.errors.StreamsException: Exception caught in > process. taskId=1_8, > processor=XXX-joined-changed-fk-subscription-registration-source, > topic=topic.rev7-XXX-joined-changed-fk-subscription-registration-topic, > partition=8, offset=12297976, > stacktrace=org.apache.kafka.common.errors.UnsupportedVersionException: > SubscriptionWrapper is of an incompatible version. > at > org.apache.kafka.streams.processor.internals.StreamTask.process(StreamTask.java:750) > at > org.apache.kafka.streams.processor.internals.TaskExecutor.processTask(TaskExecutor.java:100) > at > org.apache.kafka.streams.processor.internals.TaskExecutor.process(TaskExecutor.java:81) > at > org.apache.kafka.streams.processor.internals.TaskManager.process(TaskManager.java:1182) > at > org.apache.kafka.streams.processor.internals.StreamThread.runOnce(StreamThread.java:770) > at > org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:588) > at > org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:550) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)