[ 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)