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
| Author | Lucy Liu |
| Status | Accepted |
| JIRA | KAFKA-18731 |
| Wiki | View on Apache Wiki |
| Created | 2026-05-15 |
| Last Modified | 2026-07-15 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.