Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-22 Thread Matthias J. Sax
Thanks. Glad we could align. -Matthias On 12/21/22 2:09 AM, Sagar wrote: Hi All, Just as an update, the changes described here: ``` Changes at a high level are: 1) KeyQueryMetada enhanced to have a new method called partitions(). 2) Lifting the restriction of a single partition for IQ. Now

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-21 Thread Sagar
Hi All, Just as an update, the changes described here: ``` Changes at a high level are: 1) KeyQueryMetada enhanced to have a new method called partitions(). 2) Lifting the restriction of a single partition for IQ. Now the restriction holds only for FK Join. ``` are reverted back. As things stan

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-09 Thread Sagar
Hey Matthias, Actually I had shared the PR link for any potential issues that might have gone missing. I guess it didn't come out that way in my response. Apologies for that! I am more than happy to incorporate any feedback/changes or address any concerns that are still present around this at thi

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-09 Thread Matthias J. Sax
It is what it is. we did have internal discussions on this We sometimes have the case that a KIP need adjustment as stuff is discovered during coding. And having a discussion on the PR about it is fine. -- However, before the PR gets merge, the KIP change should be announced to verify that

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-08 Thread Sagar
Thanks Matthias, Well, as things stand, we did have internal discussions on this and it seemed ok to open it up for IQ and more importantly not ok to have it opened up for FK-Join. And more importantly, the PR for this is already merged and some of these things came up during that. Here's the PR l

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-08 Thread Matthias J. Sax
Ah. Missed it as it does not have a nice "code block" similar to `StreamPartitioner` changes. I understand the motivation, but I am wondering if we might head into a tricky direction? State stores (at least the built-in ones) and IQ are kinda build with the idea to have sharded data and that a

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-07 Thread Sagar
Hi Mathias, I did save it. The changes are added under Public Interfaces (Pt#2 about enhancing KeyQueryMetadata with partitions method) and throwing IllegalArgumentException when StreamPartitioner#partitions method returns multiple partitions for just FK-join instead of the earlier decided FK-Join

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-07 Thread Matthias J. Sax
I don't see any update on the wiki about it. Did you forget to hit "save"? Can you also provide some background? I am not sure right now if I understand the proposed changes? -Matthias On 12/6/22 6:36 PM, Sophie Blee-Goldman wrote: Thanks Sagar, this makes sense to me -- we clearly need add

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-06 Thread Sophie Blee-Goldman
Thanks Sagar, this makes sense to me -- we clearly need additional changes to avoid breaking IQ when using this feature, but I agree with continuing to restrict FKJ since they wouldn't stop working without it, and would become much harder to reason about (than they already are) if we did enable the

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-12-06 Thread Sagar
Hi All, I made a couple of edits to the KIP which came up during the code review. Changes at a high level are: 1) KeyQueryMetada enhanced to have a new method called partitions(). 2) Lifting the restriction of a single partition for IQ. Now the restriction holds only for FK Join. Updated KIP: ht

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-09-12 Thread Sagar
Thanks Bruno, Marking this as accepted. Thanks everyone for their comments/feedback. Thanks! Sagar. On Mon, Sep 12, 2022 at 1:53 PM Bruno Cadonna wrote: > Hi Sagar, > > Thanks for the update and the PR! > > +1 (binding) > > Best, > Bruno > > On 10.09.22 18:57, Sagar wrote: > > Hi Bruno, > > >

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-09-12 Thread Bruno Cadonna
Hi Sagar, Thanks for the update and the PR! +1 (binding) Best, Bruno On 10.09.22 18:57, Sagar wrote: Hi Bruno, Thanks, I think these changes make sense to me. I have updated the KIP accordingly. Thanks! Sagar. On Wed, Sep 7, 2022 at 2:16 PM Bruno Cadonna wrote: Hi Sagar, I would not dr

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-09-10 Thread Sagar
Hi Bruno, Thanks, I think these changes make sense to me. I have updated the KIP accordingly. Thanks! Sagar. On Wed, Sep 7, 2022 at 2:16 PM Bruno Cadonna wrote: > Hi Sagar, > > I would not drop the support for dropping records. I would also not > return null from partitions(). Maybe an Optiona

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-09-07 Thread Bruno Cadonna
Hi Sagar, I would not drop the support for dropping records. I would also not return null from partitions(). Maybe an Optional can help here. An empty Optional would mean to use the default partitioning behavior of the producer. So we would have: - non-empty Optional, non-empty list of integ

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-09-02 Thread Sagar
Hello Bruno/Chris, Since these are the last set of changes(I am assuming haha), it would be great if you could review the 2 options from above so that we can close the voting. Of course I am happy to incorporate any other requisite changes. Thanks! Sagar. On Wed, Aug 31, 2022 at 10:07 PM Sagar

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-31 Thread Sagar
Thanks Bruno for the great points. I see 2 options here => 1) As Chris suggested, drop the support for dropping records in the partitioner. That way, an empty list could signify the usage of a default partitioner. Also, if the deprecated partition() method returns null thereby signifying the defa

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-30 Thread Chris Egerton
+1 to Bruno's concerns about backward compatibility. Do we actually need support for dropping records in the partitioner? It doesn't seem necessary based on the motivation for the KIP. If we remove that feature, we could handle null and/or empty lists by using the default partitioning, equivalent t

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-30 Thread Bruno Cadonna
Hi Sagar, Thank you for the updates! I do not intend to prolong this vote thread more than needed, but I still have some points. The deprecated partition method can return null if the default partitioning logic of the producer should be used. With the new method partitions() it seems that it

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-30 Thread Sagar
Thanks Bruno/Chris, Even I agree that might be better to keep it simple like the way Chris suggested. I have updated the KIP accordingly. I made couple of minor changes to the KIP: 1) One of them being the change of return type of partitions method from List to Set. This is to ensure that in case

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-30 Thread Bruno Cadonna
Hi, I am favour of discarding the sugar for broadcasting and leave the broadcasting to the implementation as Chris suggests. I think that is the cleanest option. Best, Bruno On 29.08.22 19:50, Chris Egerton wrote: Hi all, I think it'd be useful to be more explicit about broadcasting to all

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-29 Thread Chris Egerton
Hi all, I think it'd be useful to be more explicit about broadcasting to all topic partitions rather than add implicit behavior for empty cases (empty optional, empty list, etc.). The suggested enum approach would address that nicely. It's also worth noting that there's no hard requirement to add

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-29 Thread Bruno Cadonna
Hi Sagar, I do not see an issue with using an empty list together with an empty Optional. A non-empty Optional that contains an empty list would just say that there is no partition to which the record should be sent. If there is no partition, the record is dropped. An empty Optional might be

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-24 Thread Sagar
Thank you Bruno/Matthew for your comments. I agree using null does seem error prone. However I think using a singleton list of [-1] might be better in terms of usability, I am saying this because the KIP also has a provision to return an empty list to refer to dropping the record. So, an empty opt

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-24 Thread Matthew Benedict de Detrich
I also concur with this, having an Optional in the type makes it very clear what’s going on and better signifies an absence of value (or in this case the broadcast value). -- Matthew de Detrich Aiven Deutschland GmbH Immanuelkirchstraße 26, 10405 Berlin Amtsgericht Charlottenburg, HRB 209739 B

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-24 Thread Bruno Cadonna
Hi Sagar, Thank you for the KIP and sorry for being late to the party! 1. The java docs for partitions() say: "Note that returning a single valued list with value -1 is a shorthand for broadcasting the record to all the partitions of the topic." I guess that is not true anymore since the cod

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-23 Thread Sophie Blee-Goldman
Thanks for the updates, it reads much more clearly to me now. Looks great +1 (binding) Cheers, Sophie On Fri, Aug 19, 2022 at 1:42 AM Sagar wrote: > Thanks Sophie for the review. I see the confusion. As you pointed out, the > problem the KIP is trying to solve is not the avoidance of a custom

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-19 Thread Sagar
Thanks Sophie for the review. I see the confusion. As you pointed out, the problem the KIP is trying to solve is not the avoidance of a custom partitioner. Instead the process of sending or replicating the message N times and then having the record wired through via a new custom partitioner for eve

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-18 Thread Sophie Blee-Goldman
Thanks Sagar -- one thing I'm still confused about, and sorry to keep pushing on this, but the example you gave for how this works in today's world seems not to correspond to the method described in the text of the Motivation exception, ie Currently, if a user wants to replicate a message into N p

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-18 Thread Sagar
Hello Sophie, Thanks for your feedback. I have made all the suggested changes. One note, on how users can accomplish this in today's world , I have made up this example and have never tried myself before. But I am assuming it will work. Let me know what you think. Thanks! Sagar. On Thu, Aug 1

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-17 Thread Sophie Blee-Goldman
Hey Sagar, thanks for the KIP! Just some cosmetic points to make it absolutely clear what this KIP is doing: 1) could you clarify up front in the Motivation section that this is focused on Kafka Streams applications, and not the plain Producer client? 2) you included the entire implementation of t

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-12 Thread Sagar
Hey John, Thanks for the vote. I added the reason for the rejection of the alternatives. The first one is basically an option to broadcast to all partitions which I felt was restrictive. Instead the KIP allows multicasting to 0-N partitions based upon the partitioner implementation. Thanks! Sagar

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-12 Thread John Roesler
Thanks, Sagar! I’m +1 (binding) Can you add a short explanation to each rejected alternative? I was wondering why we wouldn’t provide an overloaded to()/addSink() (the first rejected alternative), and I had to look back at the Streams code to see that they both already accept the partitioner (

Re: [VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-08-09 Thread Walker Carlson
+1 (non binding) Walker On Tue, May 31, 2022 at 4:44 AM Sagar wrote: > Hi All, > > I would like to start a voting thread on > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211883356 > . > > I am just starting this as the discussion thread has been open for 10+ > days. In case

[VOTE] KIP-837 Allow MultiCasting a Result Record.

2022-05-31 Thread Sagar
Hi All, I would like to start a voting thread on https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=211883356. I am just starting this as the discussion thread has been open for 10+ days. In case there are some comments, we can always discuss them over there. Thanks! Sagar.