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

Reply via email to