[ https://issues.apache.org/jira/browse/KAFKA-7577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16672245#comment-16672245 ]
Daren Thomas commented on KAFKA-7577: ------------------------------------- {quote}Note, that a tombstone message is only produced, if there is anything to be deleted. {quote} My test case is set up to perform line 3 and line 7 from the data. The table is not empty when the tombstone is sent. The database tables backing the topics used by the stream processor look like this: * Table X with xid (primary key) and data A or null * Table Y with yid (primary key), xid, and zid * Table Z with zid (primary key) and data B or null The topology looks like this: * Repartition Y using groupBy() and aggregate() * Repartition Z using groupBy() and aggregate() * Perform Y.leftJoin(Z). Repartition using groupBy and aggregate() * Repartition X using flatMap() * Perform X.leftJoin(YZ), convert results to a stream, and send to the output topic. Intended result is [A, B] for the value. > 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)