All, KIP-149 has been approved for a while now, but parts of it remain un-implemented. I have submitted a new PR adding read-only access to the join-key for KStream joins to set the value resulting from the join ( https://github.com/apache/kafka/pull/10150).
The original KIP did not include the `KTable` interface. I've updated the KIP to include KTables, including the foreign key join variants. https://cwiki.apache.org/confluence/display/KAFKA/KIP-149%3A+Enabling+key+access+in+ValueTransformer%2C+ValueMapper%2C+and+ValueJoiner Right now, I can't come up with a reason as to why we would not want to include the KTable interface, and nothing was mentioned on the original discussion thread <https://www.mail-archive.com/dev@kafka.apache.org/msg71509.html>. Additionally, the changes in PR 10150 do not affect the Scala API. But in attempting to add the new feature in the Scala API, the same approach of overloading the `join` method with a `ValueJoinerWIthKey` in Scala results in an "Ambiguous reference to overloaded definition" error. >From a cursory search, I think this could be resolved with the release of Scala 3.0. But in the meantime, we are left with two choices: 1. Create a Jira ticket to add the join-key access to the Scala API at a later date 2. Add it to the Scala API, but with a different name For the Scala API, I'm leaning towards option 1, but I wanted to get the community's thoughts. Thanks, Bill