Thanks for the KIP. I was initially wondering if we need to add this into Kafka code base not. You could just go with a custom `Partitioner` implementation.
The demand of KAFKA-3333 seems not to be big actually. On the other hand, it might be a generic use case that justifies to add to Kafka code base. Also, it's not much code and thus easy to maintain. About naming: `RoundRobinPartitioner` seems to be a good name. `KeylessPartitioner` does not describe how partitions are selected. I don't see any conflict with `DefaultPartitioner` -- it implements a hybrid strategy depending if key is `null` or not (thus finding a name better than `DefaultPartitioner` that describes the strategy seem to be difficult). Feel free to start a VOTE :) I don't expect this KIP to be controversial. -Matthias On 9/2/18 7:57 AM, M. Manna wrote: > Thanks for all your comments and taking it easy on me for my first KIP :) > > I am trying to check if it's okay for us to start a vote on this? As per > some recent comment I'll change the name to RoundRobinPartitioner. > > I'll need to put some effort in writing Scala tests etc. since I'm a novice > with Scala. > > Please let me know your thoughts, and I'll update the status accordingly > (and start working on the JIRA once it's approved). > > Regards, > > On Fri, 31 Aug 2018, 10:22 M. Manna, <manme...@gmail.com> wrote: > >> Yes I’m more than happy to change it to a more appropriate name. >> >> The issue with RoundRobinPatitoner is that the DefaultPartitioner already >> has a Round-Robin associated to it. But if community doesn’t mind the name, >> I don’t either. >> >> Thanks for reading the KIP btw. >> >> Regards, >> >> On Fri, 31 Aug 2018 at 05:47, Magesh Nandakumar <mage...@confluent.io> >> wrote: >> >>> +1 for this. The only small suggestion would be to possibly call this >>> RondRobinPartitioner which makes the intent obvious. >>> >>> On Thu, Aug 30, 2018 at 5:31 PM Stephen Powis <spo...@salesforce.com> >>> wrote: >>> >>>> Neat, this would be super helpful! I submitted this ages ago: >>>> https://issues.apache.org/jira/browse/KAFKA-3333 >>>> >>>> On Fri, Aug 31, 2018 at 5:04 AM, Satish Duggana < >>> satish.dugg...@gmail.com> >>>> wrote: >>>> >>>>> +including both dev and user mailing lists. >>>>> >>>>> Hi, >>>>> Thanks for the KIP. >>>>> >>>>> "* For us, the message keys represent some metadata which we use to >>>> either >>>>> ignore messages (if a loop-back to the sender), or log some >>>> information.*" >>>>> >>>>> Above statement was mentioned in the KIP about how key value is used. >>> I >>>>> guess the topic is not configured to be compacted and you do not want >>> to >>>>> have partitioning based on that key. IMHO, it qualifies more as a >>> header >>>>> than a key. What do you think about building records with a specific >>>> header >>>>> and consumers to execute the logic whether to process or ignore the >>>>> messages based on that header value. >>>>> >>>>> Thanks, >>>>> Satish. >>>>> >>>>> >>>>> On Fri, Aug 31, 2018 at 1:32 AM, Satish Duggana < >>>> satish.dugg...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> Thanks for the KIP. >>>>>> >>>>>> "* For us, the message keys represent some metadata which we use to >>>>>> either ignore messages (if a loop-back to the sender), or log some >>>>>> information.*" >>>>>> >>>>>> Above statement was mentioned in the KIP about how key value is >>> used. I >>>>>> guess the topic is not configured to be compacted and you do not >>> want >>>> to >>>>>> have partitioning based on that key. IMHO, it qualifies more as a >>>> header >>>>>> than a key. What do you think about building records with a specific >>>>> header >>>>>> and consumers to execute the logic whether to process or ignore the >>>>>> messages based on that header value. >>>>>> >>>>>> Thanks, >>>>>> Satish. >>>>>> >>>>>> >>>>>> On Fri, Aug 31, 2018 at 12:02 AM, M. Manna <manme...@gmail.com> >>> wrote: >>>>>> >>>>>>> Hi Harsha, >>>>>>> >>>>>>> thanks for reading the KIP. >>>>>>> >>>>>>> The intent is to use the DefaultPartitioner logic for round-robin >>>>>>> selection >>>>>>> of partition regardless of key type. >>>>>>> >>>>>>> Implementing Partitioner interface isn’t the issue here, you would >>>> have >>>>> to >>>>>>> do that anyway if you are implementing your own. But we also want >>>> this >>>>> to >>>>>>> be part of formal codebase. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> On Thu, 30 Aug 2018 at 16:58, Harsha <ka...@harsha.io> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> Thanks for the KIP. I am trying to understand the intent of >>>> the >>>>>>>> KIP. Is the use case you specified can't be achieved by >>>> implementing >>>>>>> the >>>>>>>> Partitioner interface here? >>>>>>>> https://github.com/apache/kafka/blob/trunk/clients/src/main/ >>>>>>> java/org/apache/kafka/clients/producer/Partitioner.java#L28 >>>>>>>> . >>>>>>>> Use your custom partitioner to be configured in your producer >>>> clients. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Harsha >>>>>>>> >>>>>>>> On Thu, Aug 30, 2018, at 1:45 AM, M. Manna wrote: >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> I opened a very simple KIP and there exists a JIRA for it. >>>>>>>>> >>>>>>>>> I would be grateful if any comments are available for action. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> >
signature.asc
Description: OpenPGP digital signature