[
https://issues.apache.org/jira/browse/KAFKA-9032?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guozhang Wang resolved KAFKA-9032.
----------------------------------
Resolution: Fixed
> Serializer is invoked with null when foreignValue=null
> ------------------------------------------------------
>
> Key: KAFKA-9032
> URL: https://issues.apache.org/jira/browse/KAFKA-9032
> Project: Kafka
> Issue Type: Bug
> Components: streams
> Affects Versions: 2.4.0
> Environment: MacOS X, Kafka Streams branch 1678a54.
> Reporter: ghassan Yammine
> Assignee: John Roesler
> Priority: Blocker
> Fix For: 2.4.0
>
> Attachments: foreign-key-join-npe-stack-trace.txt
>
>
> I'm using the Ktable's foreign key join (ref: KIP-213). When I try to
> *leftJoin* two KTables, and the left side's foreignKey does not have a key
> match in the right (other) KTable, the Join operation invokes the serializer
> with a foreignValue=null. This then causes a NullPointerException in the
> provided (my) serializer.
> Stack Trace is attached. Notes:
> {code:java}
> In method RecordCollectorImpl#send() (around line 97), inspecting 'value'
> shows:
> SubscriptionResponseWrapper{version=0, foreignValue=null,
> originalValueHash=[-5192323959200117799, -2503872568163857643]} {code}
> This foreignValue is passed to Serializer.java#serialize() as 'data'.
> Ultimately, it ends up in SubscriptionResponseWrapperSerde#serialize (#72)
> where 'serliazedData` is null. This is what is passed to my serializer.
> This exception is readily reproducible; just set up the left message-value to
> include a foreign key value that does not exist on the right side (the
> 'other' table).
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)