Hi Luke,

Thanks for the KIP.

Can you clarify the use cases you have in mind exactly? This would
strengthen the motivation which I find a bit weak at the moment.

As mentioned by Boyang, it's possible to achieve something similar
with the existing APIs, for example with poll/seek or with
listOffsets. Can you list them in the rejected alternatives section
and explain why they were rejected.

Thanks


On Tue, Sep 21, 2021 at 9:47 AM Luke Chen <show...@gmail.com> wrote:
>
> Thanks for your feedback, Sagar, Boyang.
>
> I've added an additional API to take the Set<TopicPartition> as the
> partitions to fetch from. Good suggestion!
> I also updated the java doc in the KIP.
>
> And for the question that the behavior can also be achieved by using manual
> offset commit + offset position rewind. That's true.
> But I have the same thoughts as Sagar, which is that, it's for advanced
> users.
> Another reason is for simplicity. If you've ever used the peek API from
> java collection (ex: Queue#peek), you should know what I'm talking about.
> When you have data in a queue, if you want to know what the first data is
> in the queue, you'd use peek(). You can also achieve it by remove() the 1st
> element from queue, and then added it back to the right position, but I
> believe that's not what you'd do.
>
> Thank you.
> Luke
>
>
> On Tue, Sep 21, 2021 at 1:02 AM Sagar <sagarmeansoc...@gmail.com> wrote:
>
> > Thanks Luke for the KIP. I think it makes sense.
> >
> > @Boyang,
> >
> > While it is possible to get the functionality using manual offset commit +
> > offset position rewind as you stated, IMHO it could still be a very handy
> > addition to the APIs.  The way I see it, manual offset commit + offset
> > position rewind is for slightly more advanced users and the addition of
> > peek() API would make it trivial to get the mentioned functionality.
> >
> > I agree to the point of adding a mechanism to fetch a more fine grained set
> > of records. Maybe, add another API which takes a Set<TopicPartition>? In
> > this case, we would probably need to add a behaviour to throw some
> > exception when a user tries to peek from a TopicPartition that he/she isn't
> > subscribed to.
> >
> > nit: In the javadoc, this line =>
> >
> > This method returns immediately if there are records available or
> > exception thrown.
> >
> >
> > should probably be =>
> >
> >
> > This method returns immediately if there are no records available or
> > exception thrown.
> >
> >
> > Thanks!
> >
> > Sagar.
> >
> >
> >
> >
> > On Mon, Sep 20, 2021 at 4:22 AM Boyang Chen <reluctanthero...@gmail.com>
> > wrote:
> >
> > > Thanks Luke for the KIP.
> > >
> > > I think I understand the motivation is to avoid affecting offset
> > positions
> > > of the records, but the feature could be easily realized on the user side
> > > by using manual offset commit + offset position rewind. So the new peek()
> > > function doesn't provide any new functionality IMHO, weakening the
> > > motivation a bit.
> > >
> > > Additionally, for the peek() case, I believe that users may want to have
> > > more fine-grained exposure of records, such as from specific partitions
> > > instead of getting random records. It's probably useful to define an
> > option
> > > handle class in the parameters to help clarify what specific records to
> > be
> > > returned.
> > >
> > > Boyang
> > >
> > > On Sun, Sep 19, 2021 at 1:51 AM Luke Chen <show...@gmail.com> wrote:
> > >
> > > > Hi everyone,
> > > >
> > > > I'd like to discuss the following proposal to add Consumer#peek for
> > > > debugging/tuning.
> > > >
> > > > The main purpose for Consumer#peek is to allow users:
> > > >
> > > >    1. peek what records existed at broker side and not increasing the
> > > >    position offsets.
> > > >    2. throw exceptions when there is connection error existed between
> > > >    consumer and broker (or other exceptions will be thrown by "poll")
> > > >
> > > >
> > > > detailed description can be found her:
> > > >
> > >
> > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=188746244
> > > >
> > > >
> > > > Any comments and feedback are welcomed.
> > > >
> > > > Thank you.
> > > > Luke
> > > >
> > >
> >

Reply via email to