You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Mickael Maison (Jira)" <ji...@apache.org> on 2023/02/14 14:32:00 UTC

[jira] [Assigned] (KAFKA-14646) SubscriptionWrapper is of an incompatible version (Kafka Streams 3.2.3 -> 3.3.2)

     [ https://issues.apache.org/jira/browse/KAFKA-14646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mickael Maison reassigned KAFKA-14646:
--------------------------------------

    Assignee: Matthias J. Sax

> 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.0, 3.3.1, 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
>            Assignee: Matthias J. Sax
>            Priority: Major
>             Fix For: 3.4.0, 3.3.3
>
>
> 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)