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