Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
3.7.0
-
None
-
None
Description
We introduced a regression bug in 3.7.0 release via KAFKA-14748. When a left-hand side record is deleted, the join now emits two tombstone records instead of one.
The problem was not detected via unit test, because the tests use a `Map` instead of a `List` when verifying the result topic records (https://github.com/apache/kafka/blob/trunk/streams/src/test/java/org/apache/kafka/streams/integration/KTableKTableForeignKeyJoinIntegrationTest.java#L250-L255).
We should update all test cases to use `List` when reading from the output topic, and of course fix the introduced bug: The `SubscriptionSendProcessorSupplier` is sending two subscription records instead of just a single one: https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/kstream/internals/foreignkeyjoin/SubscriptionSendProcessorSupplier.java#L133-L136
Attachments
Issue Links
- duplicates
-
KAFKA-16394 ForeignKey LEFT join propagates null value on foreignKey change
- Patch Available