conduktor.io ↗

KIP-1340 — Expose Both Mapped Key and Stream Key in Streams-GlobalKTable Joins

Accepted Streams

Adds a ValueJoinerWithStreamAndMappedKey functional interface for stream-GlobalKTable joins whose apply() receives both the original KStream record key and the mapped join key produced by the KeyValueMapper. KStreamKTableJoinProcessor#doJoin passes record.key() into ValueJoinerWithKey for global-table joins, which type-checks because both keys share type K but contradicts KIP-149's contract that readOnlyKey is the join key, leaving users no way to see the lookup key without recomputing it themselves.

Details

AuthorLucy Liu
StatusAccepted
JIRAKAFKA-18731
WikiView on Apache Wiki
Created2026-05-15
Last Modified2026-07-15
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.