You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by Bill Bejeck <bb...@apache.org> on 2021/02/19 22:26:47 UTC
[DISCUSS] KIP-149 (reloaded)
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