pulsar-dotpulsar icon indicating copy to clipboard operation
pulsar-dotpulsar copied to clipboard

Support - Consumer.NegativeAcknowledge

Open dionjansen opened this issue 4 years ago • 6 comments

NegativeAcknowledge provides a nice way to shape error handling when messages cannot be processed and you want to do so at a later time with a given timeout:

Prefer negative acknowledgements over acknowledgement timeout. Negative acknowledgement controls the re-delivery of individual messages with more precision, and avoids invalid redeliveries when the message processing time exceeds the acknowledgement timeout.

dionjansen avatar Jun 24 '20 14:06 dionjansen

From what I can tell both the Java and C++ clients use a client sided tracker to keep track of negatively acknowledged messages add by the Consumer. negativeAcknowledge in a NegativeAcksTracker. The tracker is responsible for calling the RedeliverUnacknowledgedMessages consumer command, with those message ids that exceed their respective timeout.

I see there is some interaction with another mechanism required to track unacked messages but this only exists when the client actually sets an AckTimeout (request in #46)

dionjansen avatar Jun 25 '20 08:06 dionjansen

This sounds related to the "reconsumeLater" functionality. Not sure how they differ. If you are up for creating a PR, then I will be happy to review it.

blankensteiner avatar Dec 12 '20 23:12 blankensteiner

@blankensteiner Is this something we are considering in the future? Would love to utilize this functionality, it's already in F#'s version, but just wondering if we can expect this in the near future, it's just nice for automated retry or reconsuming upon an exception occurring or other.

alexcherka avatar Aug 24 '21 20:08 alexcherka

Hi @alexcherka @dionjansen has created a PR for it and @RobertIndie is reviewing it. Once they are finished I can review and merge it :-)

blankensteiner avatar Aug 25 '21 06:08 blankensteiner

Hey @blankensteiner Just checking if we have an update for this? Been more than a year lol...

alexcherka avatar Oct 27 '22 20:10 alexcherka

Hi @alexcherka Doesn't seem like the PR is ready for review. I can't merge and release what I can't review :-)

blankensteiner avatar Oct 28 '22 21:10 blankensteiner