When I saw xiangying reply, I also remembered PIP-415.
https://github.com/apache/pulsar/pull/24220

At present, admin-api in PIP-423 can actually add a new parameter "index".
If the user does not set ledgerId and entryId, he can also set "index".



Thanks,
sinan


SiNan Liu <liusinan1...@gmail.com>于2025年6月10日 周二11:03写道:

> We just need to broaden the scope of the current PIP and rename the admin
> API to acknowledge-message.
>
> The admin API as implemented in the PIP can already acknowledge any
> message. We'll simply mention in the documentation that this is how delayed
> messages can be effectively cancelled.
>
>
>
> Thanks,
> sinan
>
>
> xiangying meng <xiangy...@apache.org>于2025年6月10日 周二10:48写道:
>
>> I agree with Lari's point. We should provide an admin tool to help
>> users cancel a message, including delayed messages or regular
>> messages, as a best-effort operation.
>>
>> Additionally, if you have any customized requirements, such as a new
>> set of APIs for delayed messages—which may include an API for
>> canceling delayed messages—you can implement your idea in the
>> contributor repository [0].
>>
>> [0] - https://github.com/apache/pulsar-java-contrib
>>
>> On Mon, Jun 9, 2025 at 9:22 PM Lari Hotari <lhot...@apache.org> wrote:
>> >
>> > Good work, Sinan.
>> >
>> > I'm just wondering if the operation in the admin API should be directly
>> about acknowledging the message instead of having a specific operation for
>> cancelling a delayed message.
>> > There might be a useful to "cancel" an individual message in a backlog
>> where delayed messaging isn't used at all with the same reasons as you have
>> stated for cancelling delayed messages. The operation could possibly
>> provide some best efforts based response whether this message has already
>> been sent out to consumers for delivery and whether the message was already
>> acknowledged.
>> >
>> > It would be great to have some comments from other community members as
>> well.
>> >
>> > -Lari
>> >
>> > On 2025/06/08 05:47:27 SiNan Liu wrote:
>> > > The document has been updated, we will implement the delayed message
>> > > cancellation function through acknowledge message.
>> > >
>> > > The configuration that needs attention regarding the message
>> > > "acknowledgment hole" is also reflected in the documentation.
>> > >
>> > > https://github.com/apache/pulsar/pull/24370
>> > >
>> > >
>> > > Thanks,
>> > > sinan
>> > >
>> > >
>> > > Lari Hotari <lhot...@apache.org> 于2025年6月6日周五 19:54写道:
>> > >
>> > > > Sounds good to me.
>> > > >
>> > > > One consideration related to message acknowledgements is that there
>> > > > are currently relatively low limits to how many acknowledgements can
>> > > > be persisted.
>> > > >
>> > > > Some details in the discussion
>> > > > https://github.com/apache/pulsar/discussions/23990
>> > > >
>> > > > There are configurable values
>> > > > managedLedgerMaxUnackedRangesToPersistInMetadataStore,
>> > > > managedLedgerPersistIndividualAckAsLongArray,
>> > > > managedLedgerMaxUnackedRangesToPersist and
>> > > > managedCursorInfoCompressionType to allow storing increasing the
>> > > > limits without exceeding ZooKeeper's maximum ZNode size configured
>> in
>> > > > Pulsar (-Djute.maxbuffer=10485760).
>> > > >
>> > > > One detail is that managedLedgerPersistIndividualAckAsLongArray is
>> > > > currently missing from broker.conf. It's only in
>> > > >
>> > > >
>> pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java
>> > > > . Configuring maxBatchDeletedIndexToPersist was completely missing.
>> > > > That's addressed in https://github.com/apache/pulsar/pull/24392
>> > > > The managedCursorInfoCompressionType setting is currently missing
>> from
>> > > > broker.conf, that's addressed by
>> > > > https://github.com/apache/pulsar/pull/24391
>> > > > PRs https://github.com/apache/pulsar/pull/24392 and
>> > > > https://github.com/apache/pulsar/pull/24391 also contain better
>> > > > documentation for the settings.
>> > > > We should also reconsider the default values for the various
>> settings
>> > > > in Pulsar 4.1, for example, it would be useful to enable compression
>> > > > by default.
>> > > >
>> > > > -Lari
>> > > >
>> > > > On Fri, 6 Jun 2025 at 05:00, SiNan Liu <liusinan1...@gmail.com>
>> wrote:
>> > > > >
>> > > > > Yes, I'm also re-evaluating the current implementation.
>> > > > >
>> > > > > I believe that implementing it directly via message
>> acknowledgment would
>> > > > be
>> > > > > better, and I've been testing this approach over the past couple
>> of days.
>> > > > >
>> > > > > The current PIP modifies the internals of
>> BucketDelayedDeliveryTracker,
>> > > > and
>> > > > > this solution isn't as good as the message acknowledgment method.
>> > > > >
>> > > > > Later, I will change this PIP's implementation to use message
>> > > > > acknowledgment, and the current approach will become an
>> alternative
>> > > > > solution.
>> > > > >
>> > > > >
>> > > > > Thanks,
>> > > > > sinan
>> > > > >
>> > > > >
>> > > > > Lari Hotari <lhot...@apache.org>于2025年6月5日 周四19:56写道:
>> > > > >
>> > > > > > Thanks for making the proposal and putting a significant effort
>> in
>> > > > > > preparing it.
>> > > > > >
>> > > > > > Would it be possible to consider an alternative solution where
>> delayed
>> > > > > > messages
>> > > > > > could be cancelled by acknowledging the messages?
>> > > > > >
>> > > > > > The admin API doesn't current contain an endpoint for
>> acknowledging a
>> > > > > > message, but I don't see a reason why that couldn't be
>> introduced.
>> > > > > >
>> > > > > > Any thoughts about this?
>> > > > > >
>> > > > > > -Lari
>> > > > > >
>> > > > > > On 2025/06/01 13:16:43 SiNan Liu wrote:
>> > > > > > > Hi all
>> > > > > > >
>> > > > > > > I want to start a discussion on
>> > > > > > > PIP-423: Add Support for Cancelling Individual Delayed
>> Messages
>> > > > > > > Proposal link: https://github.com/apache/pulsar/pull/24370
>> > > > > > >
>> > > > > > > I'm looking forward to hearing from you.
>> > > > > > >
>> > > > > > > Thanks,
>> > > > > > > sinan
>> > > > > > >
>> > > > > >
>> > > >
>> > >
>>
>

Reply via email to