You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jochen Schalanda (Jira)" <ji...@apache.org> on 2023/01/23 18:13:00 UTC

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

Jochen Schalanda created KAFKA-14646:
----------------------------------------

             Summary: 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


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 20+ 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)