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!
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> ------------------&nbsp;Original&nbsp;------------------
>>>>> From: "Yunze Xu"<y...@streamnative.io.INVALID&gt;;
>>>>> Date: 2022Äê7ÔÂ15ÈÕ(ÐÇÆÚÎå) ÍíÉÏ6:04
>>>>> To: "dev"<dev@pulsar.apache.org&gt;;
>>>>> 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&gt;` 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&gt; 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
>>>> 
>> 
>> 

Reply via email to