Thanks.

Here is the PR for this catch: https://github.com/apache/kafka/pull/14187

On Thu, 10 Aug 2023 at 19:04, Matthias J. Sax <mj...@apache.org> wrote:

> Good catch about the JavaDocs.
>
> Seems we missed to update them when we did K10277. Would you like to do
> a PR to fix them right away for upcoming 3.6 release?
>
> If there is no more other comments, I think you can start a VOTE thread.
>
>
> -Matthias
>
> On 8/10/23 4:22 AM, Florin Akermann wrote:
> > Thank you for the feedback.
> >
> >> Not sure if this is the right phrasing?
> >
> > You are right. I adjusted the phrasing accordingly.
> > Given your description of the current behavior, do I understand correctly
> > that the current documentation for the left join KStream-GlobalKtable is
> > out of date?
> >
> https://github.com/apache/kafka/blob/9318b591d7a57b9db1e7519986d78f0402cd5b5e/streams/src/main/java/org/apache/kafka/streams/kstream/KStream.java#L2948C7-L2948C7
> >
> >> I would remove this from the KIP
> >
> > I agree,Removed.
> > Plus, relevant doc links added.
> >
> >> I think the way it's phrased is good. [...] We can cover details on the
> > PR.
> >
> > Great. Yes, in general, I hope everybody agrees that we shouldn't add
> more
> > details to this KIP
> >
> >
> > On Thu, 10 Aug 2023 at 00:16, Matthias J. Sax <mj...@apache.org> wrote:
> >
> >> Thanks for the KIP.
> >>
> >>> left join KStream-GlobalTable: no longer drop left records with
> null-key
> >> and call KeyValueMapper with 'null' for left  key. The case where
> >> KeyValueMapper returns null is already handled in the current
> >> implementation.
> >>
> >> Not sure if this is the right phrasing? In the end, even now, the stream
> >> input record key can be null (cf
> >> https://issues.apache.org/jira/browse/KAFKA-10277) -- a stream record
> is
> >> only dropped if the `KeyValueMapper` returns `null` (note that the
> >> key-extractor has no default implemenation but is a required argument)
> >> -- this KIP would relax this case for left-join.
> >>
> >>
> >>> In the pull request all relevant Javadocs will be updated with the
> >> information on how to keep the old behavior for a given operator /
> method.
> >>
> >> I would remove this from the KIP -- I am also not sure if we should put
> >> it into the JavaDoc? -- I agree that it should go into the upgrade docs
> >> as well as "join section" in the docs:
> >>
> >>
> https://kafka.apache.org/35/documentation/streams/developer-guide/dsl-api.html#joining
> >>
> >> We also have
> >>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+Join+Semantics
> >> that we should update.
> >>
> >>
> >>> I added a remark about the repartition of null-key records.
> >>
> >> I think the way it's phrase is good. In the end, it's an optimization to
> >> drop records upstream (instead of piping them through the topic and drop
> >> the downstream), and thus we don't have to cover it in the KIP in
> >> detail. In general, for aggregations we can still apply the
> >> optimization, however, we need to be careful as we could also have two
> >> downstream operators with a shared repartition topic: for this case, we
> >> can only drop upstream if all downstream operator would drop null-key
> >> records anyway. We can cover details on the PR.
> >>
> >>
> >>
> >> -Matthias
> >>
> >>
> >>
> >> On 8/9/23 5:39 AM, Florin Akermann wrote:
> >>> Hi All,
> >>>
> >>> I added a remark about the repartition of null-key records.
> >>>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-962%3A+Relax+non-null+key+requirement+in+Kafka+Streams#KIP962:RelaxnonnullkeyrequirementinKafkaStreams-Repartitionofnull-keyrecords
> >>>
> >>> Can we relax this constraint for any kind of repartitioning or should
> it
> >>> only be relaxed in the context of left stream-table and left/outer
> >>> stream-stream joins?
> >>>
> >>> Florin
> >>>
> >>> On Mon, 7 Aug 2023 at 13:23, Florin Akermann <
> florin.akerm...@gmail.com>
> >>> wrote:
> >>>
> >>>> Hi Lucas,
> >>>>
> >>>> Thanks. I added the point about the upgrade guide as well.
> >>>>
> >>>> Florin
> >>>>
> >>>> On Mon, 7 Aug 2023 at 11:06, Lucas Brutschy <lbruts...@confluent.io
> >> .invalid>
> >>>> wrote:
> >>>>
> >>>>> Hi Florin,
> >>>>>
> >>>>> thanks for the KIP! This looks good to me. I agree that the precise
> >>>>> Java doc wording doesn't have to be discussed as part of the KIP.
> >>>>>
> >>>>> I would also suggest to include an update to
> >>>>> https://kafka.apache.org/documentation/streams/upgrade-guide
> >>>>>
> >>>>> Cheers,
> >>>>> Lucas
> >>>>>
> >>>>> On Mon, Aug 7, 2023 at 10:51 AM Florin Akermann
> >>>>> <florin.akerm...@gmail.com> wrote:
> >>>>>>
> >>>>>> Hi Both,
> >>>>>>
> >>>>>> Thanks.
> >>>>>> I added remarks to account for this.
> >>>>>>
> >>>>>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-962%3A+Relax+non-null+key+requirement+in+Kafka+Streams#KIP962:RelaxnonnullkeyrequirementinKafkaStreams-Remarks
> >>>>>>
> >>>>>> In short, let's add a note in the Java docs? The exact wording of
> the
> >>>>> note
> >>>>>> can be scrutinized in the pull request?
> >>>>>>
> >>>>>> What do you think?
> >>>>>>
> >>>>>>
> >>>>>> On Sun, 6 Aug 2023 at 19:41, Guozhang Wang <
> >> guozhang.wang...@gmail.com>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> I'm just thinking we can try to encourage users to migrate from XX
> to
> >>>>>>> XXWithKey in the docs, giving this as one good example that the
> >> latter
> >>>>>>> can help you distinguish different scenarios whereas the former
> >>>>>>> cannot.
> >>>>>>>
> >>>>>>> On Fri, Aug 4, 2023 at 6:32 PM Matthias J. Sax <mj...@apache.org>
> >>>>> wrote:
> >>>>>>>>
> >>>>>>>> Guozhang,
> >>>>>>>>
> >>>>>>>> thanks for pointing out ValueJoinerWithKey. In the end, it's just
> a
> >>>>>>>> documentation change, ie, point out that the passed in key could
> be
> >>>>>>>> `null` and similar?
> >>>>>>>>
> >>>>>>>> -Matthias
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On 8/2/23 3:20 PM, Guozhang Wang wrote:
> >>>>>>>>> Thanks Florin for the writeup,
> >>>>>>>>>
> >>>>>>>>> One quick thing I'd like to bring up is that in KIP-149
> >>>>>>>>> (
> >>>>>>>
> >>>>>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-149%3A+Enabling+key+access+in+ValueTransformer%2C+ValueMapper%2C+and+ValueJoiner
> >>>>>>> )
> >>>>>>>>> we introduced ValueJoinerWithKey which is aimed to enhance
> >>>>>>>>> ValueJoiner. It would have a benefit for this KIP such that
> >>>>>>>>> implementers can distinguish "null-key" v.s. "not-null-key but
> >>>>>>>>> null-value" scenarios.
> >>>>>>>>>
> >>>>>>>>> Hence I'd suggest we also include the semantic changes with
> >>>>>>>>> ValueJoinerWithKey, which can help distinguish these two
> >>>>> scenarios,
> >>>>>>>>> and also document that if users apply ValueJoiner only, they may
> >>>>> not
> >>>>>>>>> have this benefit, and hence we suggest users to use the former.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Guozhang
> >>>>>>>>>
> >>>>>>>>> On Mon, Jul 31, 2023 at 12:11 PM Florin Akermann
> >>>>>>>>> <florin.akerm...@gmail.com> wrote:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>
> >>>>>
> >>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-962%3A+Relax+non-null+key+requirement+in+Kafka+Streams
> >>>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >
>

Reply via email to