[ https://issues.apache.org/jira/browse/KAFKA-7577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16692136#comment-16692136 ]
Daren Thomas commented on KAFKA-7577: ------------------------------------- What is the reasoning behind that being the design? I'm using Kafka Connect to stream database updates to a Kafka topic. I then rekey and repartition the streams so I can perform various table joins. If aggregate() drops any `null`-value input records, how are deletions suppose to propagate into the system and remove entries from the joins? Right now I'm catching those deletions and creating my own messages that are specifically constructed to generate the desired output from the joins. > Semantics of Table-Table Join with Null Message Are Incorrect > ------------------------------------------------------------- > > Key: KAFKA-7577 > URL: https://issues.apache.org/jira/browse/KAFKA-7577 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 1.1.0 > Reporter: Daren Thomas > Priority: Major > > Observed behavior of Table-Table join with a Null Message does not match the > semantics described in the documentation > ([https://docs.confluent.io/current/streams/developer-guide/dsl-api.html#ktable-ktable-join).] > The expectation is: > * Message A results in [A, null] from the Left Join > * Message null (tombstone) results in null (tombstone) from the Left Join > The observed behavior was that the null (tombstone) message did not pass > through the Left Join to the output topic like expected. This behavior was > observed with and without caching enabled, against a test harness, and > against a local Confluent 5.0.0 platform. It was also observed that the > KTableKTableLeftJoinProcessor.process() function was not called for the null > (tombstone) message. -- This message was sent by Atlassian JIRA (v7.6.3#76005)