Skip to content
Discussion options

You must be logged in to vote

The main conclusion is right: a database commit and a Pulsar acknowledgment are not one atomic operation, so at-least-once delivery leaves a duplicate window. A few Pulsar-specific details are worth tightening in the model, though.

First, the short ackTimeout creates the overlap in this experiment; it does not narrow the failure window. Pulsar disables that timeout by default. When it is enabled, an unacknowledged message is eligible for redelivery after the timeout, possibly to another consumer on a Shared subscription. Also, when a consumer terminates, its unacknowledged messages can be redelivered even with the timeout disabled. The broker does not wait indefinitely for that exact cons…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@illyar80
Comment options

Answer selected by illyar80
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants