We have persistent subscriptions and when an unexpected exception happens we want to “stop the subscription” until we fixed the exception from occurring. So I expected that when we nack the event and send it the “stop” action that we wouldn’t be receiving additional events anymore. But that doesn’t seem to be the case as we continue to receive events.
Here is some proof that we are sending a stop:
event-store | [00001,28,09:55:59.466] Message NAK’ed id a45d76ea-8600-4505-be24-3f35ca4bd2eb action to take Stop reason ‘RANDOM ERROR’
``
So how is this supposed to work? As the docs aren’t really clear on this. I’ve only seen this: https://eventstore.org/docs/http-api/competing-consumers/index.html#query-parameters-5
Thanks in advance!
I believe the subscription is stopping but there are some additional messages on the client already. We should probably drain any messages in buffer as well. I will try writing a test around this.
I don’t think this is really the case, because when the subscription is supposed to be stopped and when I create some new events after the stop, then it receives those as well.
Did you ever find the best way to stop a persistent subscription? Does it work?
The best way to stop a persistent subscription is to check for strictly sequential version numbers on the events you receive, and Nak any that are detected as out of order. This means that if you Nak a single version, all subsequent
versions after that will also be Nak’d. When you replay your parked messages, they’ll come through in order and the entire stream will be “re-enabled”
– You received this message because you are subscribed to the Google Groups “Event Store” group.
To unsubscribe from this group and stop receiving emails from it, send an email to
.
To view this discussion on the web, visit .
For more options, visit .
Has anything come to light on this topic? I’m using EventStore 5.0.5.0 and it is still not stopping subscription when I Nak with Stop.
James,
Just skimmed over this thread, but have a look here:
Look for the section named “DrainEventsAfterSubscriptionDropped”
Is this related?
Heya thanks, the section is under catch up subscription not persistent subscription, but probably has the same behaviour. I’ll have a look that.
Hopefully this helps you out.
Let me know how you get on.