Hi Enrico,

> There is no way to confirm that the MessageId really belongs to the
> partition and you can pass whatever you want

True. But still, the existing `acknowledgeCumulative` API is not
convenient to use. The original purpose for this new overload is
allowing users to maintain each partition's latest message ID to avoid
frequent ACK commands, then they can flush all these message IDs once.

Though the keys are actually not used, a natural way is to maintain a
map, not a list or set. For a multi-topics consumer, we can also
add a constraint that the key must exist in an internal consumer. For
a single topic consumer, the key must be the topic name.

Without the new API, users have to configure `acknowledgmentGroupTime`
and call `acknowledgeCumulative` for each message received. However,
the ACK grouping tracker is very simple that it can only configure the
grouping timeout. I think users need a way to control precisely for when
to send the ACK commands.

In my design, `acknowledgeCumulative` that accepts a single message ID
will go through the ACK grouping tracker, while
`acknowledgeCumulative` that accepts a map should send ACK commands
immediately because it represents users cache the pending message IDs
by themselves.

Thanks,
Yunze




> On Sep 13, 2022, at 18:36, Enrico Olivelli <eolive...@gmail.com> wrote:
> 
> -1
> I am not sure this is much useful in this form.
> I had also commented on the PR: We pass a Map<String, MessageId> but
> actually the keys of the map will not be used.
> 
> I understand that the current API is not user-friendly, but I don't
> think that adding a dummy parameter to the API will really
> help.
> There is no way to confirm that the MessageId really belongs to the
> partition and you can pass whatever you want
> 
> Enrico
> 
> 
> 
> 
> Il giorno mar 13 set 2022 alle ore 12:24 Xiangying Meng
> <xiangy...@apache.org> ha scritto:
>> 
>> +1 (non-binding)
>> Good work!
>> 
>> Sincerely,
>> Xiangying
>> 
>> On Tue, Sep 13, 2022 at 6:15 PM Tarun Annapareddy <
>> tarunannapareddy1...@gmail.com> wrote:
>> 
>>> Hi devs,
>>>    This is the official thread to vote for Java Client support to
>>> Cumulative Acknowledge messages for multiple partitions or topics
>>> 
>>> PIP Issue: https://github.com/apache/pulsar/issues/17574
>>> Discussion thread:
>>> https://lists.apache.org/thread/k090ftlqc149yr1cnprxb29vxg160131
>>> PR: https://github.com/apache/pulsar/pull/17577
>>> 
>>> Thank you,
>>> Tarun.
>>> 

Reply via email to