Awesome, thanks!

+1 from me as well.

On Thu, May 5, 2022 at 5:50 PM Artem Livshits
<alivsh...@confluent.io.invalid> wrote:

> Hi  Guozhang,
>
> The current DefaultStreamPartitioner behavior is not changed by this KIP,
> so I think we can track it separately.  I've created a ticket:
> https://issues.apache.org/jira/browse/KAFKA-13880.
>
> -Artem
>
>
>
> On Thu, May 5, 2022 at 10:24 AM Guozhang Wang <wangg...@gmail.com> wrote:
>
> > Hello Artem,
> >
> > Thanks for proposing this KIP. I took a look at the current PR and also
> > thought about its implications on Kafka Streams. Here are some thoughts:
> >
> > Today Kafka Streams use an explicit Partitioner --- note it is not
> > implementing the Producer's Partitioner --- to determine the partition
> > number before calling `producer.send`. Also the record is serialized
> > outside the `send` call as well. That means, the record sent to the
> > producer is always in `<byte[], byte[]>` type and partition id is always
> > specified.
> >
> > The reason for serializing outside the producer is that the same producer
> > is used to send to various topics with different schema, and hence we
> > cannot specify a single serializer config. And the reason to determine
> the
> > partition id outside the producer is that we have different logic for
> > windowed record v.s. non-windowed record and hence cannot have a single
> > partitioner config.
> >
> > For the windowed partitioner it does not matter since the key would
> always
> > be specified and hence we would not leverage sticky partitioning. For the
> > non-windowed partitioner it's possible that the key is null, and inside
> the
> > non-windowed customized partitioner, the `DefaultPartitioner` is used
> > indeed. But with this KIP as the new logic is not encoded in the
> configured
> > partitioner it means Kafka Streams would not be able to leverage its
> > benefits.
> >
> > I think we can modify the non-windowed partitioner such that when the key
> > is null, we just set the partition to null, then inside the KafkaProducer
> > we could still leverage on the new sticky behavior. Since in Kafka
> Streams
> > only sink topics data may have null keys which would not be required
> state
> > metadata, relaxing this in the StreamsPartitioner should be fine.
> >
> >
> > Guozhang
> >
> >
> > On Sat, Mar 26, 2022 at 4:05 PM Lucas Bradstreet
> > <lu...@confluent.io.invalid>
> > wrote:
> >
> > > Hi Artem,
> > >
> > > Thank you for all the work on this. I think it'll be quite impactful.
> > >
> > > +1 non-binding from me.
> > >
> > > Lucas
> > >
> > > On Wed, Mar 23, 2022 at 8:27 PM Luke Chen <show...@gmail.com> wrote:
> > >
> > > > Hi Artem,
> > > >
> > > > Thanks for the KIP and the patience during discussion!
> > > > +1 binding from me.
> > > >
> > > > Luke
> > > >
> > > > On Thu, Mar 24, 2022 at 3:43 AM Ismael Juma <ism...@juma.me.uk>
> wrote:
> > > >
> > > > > Thanks for the KIP and for taking the time to address all the
> > feedback.
> > > > +1
> > > > > (binding)
> > > > >
> > > > > Ismael
> > > > >
> > > > > On Mon, Mar 21, 2022 at 4:52 PM Artem Livshits
> > > > > <alivsh...@confluent.io.invalid> wrote:
> > > > >
> > > > > > Hi all,
> > > > > >
> > > > > > I'd like to start a vote on
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-794%3A+Strictly+Uniform+Sticky+Partitioner
> > > > > > .
> > > > > >
> > > > > > -Artem
> > > > > >
> > > > >
> > > >
> > >
> >
> >
> > --
> > -- Guozhang
> >
>


-- 
-- Guozhang

Reply via email to