Tarun is a colleague at Nutanix who is very eager to do his first patch in an apache Project :-)
Regards, Shivji Kumar Jha http://www.shivjijha.com/ +91 8884075512 On Wed, 7 Sept 2022 at 17:05, Yunze Xu <y...@streamnative.io.invalid> wrote: > Sure. I’m glad to see that. Just a little confused about who is Tarun? > > Thanks, > Yunze > > > > > > On Sep 6, 2022, at 17:40, Shivji Kumar Jha <shiv4...@gmail.com> wrote: > > > > ++ Tarun > > > > Hi Yunze, > > > > We would love to have this. > > > > ```java > > // the key is the partitioned topic name like my-topic-partition-0 > > void acknowledgeCumulative(Map<String, MessageId> topicToMessageId); > > ``` > > > > If you are busy with other things, do you mind Tarun taking this up ? > Happy > > to have you as a reviewer. > > > > Regards, > > Shivji Kumar Jha > > http://www.shivjijha.com/ > > +91 8884075512 > > > > > > On Sun, 4 Sept 2022 at 21:25, Yunze Xu <y...@streamnative.io.invalid> > wrote: > > > >> I am busy on other things recently so there is no further update. But > >> I found there is already two methods to acknowledge multiple messages > >> in Java client. > >> > >> ```java > >> void acknowledge(Messages<?> messages) throws PulsarClientException; > >> > >> void acknowledge(List<MessageId> messageIdList) throws > >> PulsarClientException; > >> ``` > >> > >> And here is the issue to track the catch up: > >> > >> https://github.com/apache/pulsar/issues/17428 > >> > >> Yunze > >> > >> > >> > >> > >>> On Sep 4, 2022, at 22:37, Asaf Mesika <asaf.mes...@gmail.com> wrote: > >>> > >>> What eventually happened with this idea? > >>> > >>> On Fri, Jul 29, 2022 at 8:02 AM PengHui Li <codelipeng...@gmail.com> > >> wrote: > >>> > >>>> +1 > >>>> > >>>> Penghui > >>>> On Jul 28, 2022, 20:14 +0800, lordcheng10 <1572139...@qq.com.invalid > >, > >>>> wrote: > >>>>> Nice feature! > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> ------------------ Original ------------------ > >>>>> From: "Yunze Xu"<y...@streamnative.io.INVALID>; > >>>>> Date: 2022Äê7ÔÂ15ÈÕ(ÐÇÆÚÎå) ÍíÉÏ6:04 > >>>>> To: "dev"<dev@pulsar.apache.org>; > >>>>> Subject: [DISCUSS] User-friendly acknowledgeCumulative API on a > >>>> partitioned topic or multi-topics > >>>>> > >>>>> > >>>>> > >>>>> Hi all, > >>>>> > >>>>> Long days ago I opened a PR to support cumulative acknowledgement > >>>>> for C++ client, but it's controversial about whether should a > >>>>> partitioned consumer acknowledge a message ID cumulatively. > >>>>> > >>>>> See https://github.com/apache/pulsar/pull/6796 for discussion. > >>>>> > >>>>> Currently, the Java client acknowledges the specific partition of the > >>>>> message ID, while the C++ client just fails when calling > >>>>> `acknowledgeCumulative` on a partitioned topic. However, even if the > >>>>> Java client doesn't fail, it's not user friendly. > >>>>> > >>>>> Assuming users called `acknowledgeCumulative` periodically, there is > a > >>>>> chance that some messages of the specific partition has never been > >>>>> passed to the method. > >>>>> > >>>>> For example, a consumer received: > >>>>> > >>>>> P0-M0, P1-M0, P0-M1, P1-M1, P0-M2, P1-M2... > >>>>> > >>>>> And the user acknowledged every two messages, i.e. > >>>>> > >>>>> P0-M0, P0-M1, P0-M2 > >>>>> > >>>>> Eventually, partition 1 has never been acknowledged. > >>>>> > >>>>> User must maintain its own `Map<String, MessageId>` cache for a > >>>>> partitioned topic or multi-topics consumer with the existing > >>>>> `acknowledgeCumulative` API. > >>>>> > >>>>> Should we make it more friendly for users? For example, we can make > >>>>> `acknowledgeCumulative` accept the map to remind users to maintain > >>>>> the map from topic name to message ID: > >>>>> > >>>>> ```java > >>>>> // the key is the partitioned topic name like my-topic-partition-0 > >>>>> void acknowledgeCumulative(Map<String, MessageId> > topicToMessageId); > >>>>> ``` > >>>>> > >>>>> For those who don't want to maintain the map by themselves, maybe we > >>>>> can provide a simpler API like: > >>>>> > >>>>> ```java > >>>>> // acknowlegde all latest received messages > >>>>> void acknowledgeCumulative(); > >>>>> ``` > >>>>> > >>>>> and provide an option to enable this behavior. > >>>>> > >>>>> Do you have any suggestion on this idea? I will prepare a proposal if > >>>>> there is no disagreement. > >>>>> > >>>>> Thanks, > >>>>> Yunze > >>>> > >> > >> > >