Hi,
I have multiple consumers subscribing to one stream (6 consumers to 3 subscription groups).
All the data needs to be processed.
When we cannot process message we park it and a scheduled job triggers replay of parked messages (this is done by each consumer).
Another scheduled job sets stream retention using the following logic
- if there are any parked messaged -> no update to $tb
- If there are any messages in the parked buffer -> no update to $tb
- If two above conditions are not met set $tb to lowest last processed event number from all subscription groups
Recently I have noticed that if there are replayed messages from the parked stream and can be processed immediately (consumers start processing them) then $tb is being updated - as no parked messages are present in the parked stream (replay was called) and retryBufferSize is 0 - as there are no parked messages awaiting their turn to be replayed.
Is there any way to read the amount of replayed parked messages that are in-flight? Any way to read if "replay parked messages" is ongoing?
What is outstandingMessagesCount in the response returned from /subscriptions/{streamName}/{groupName}/info?
Thank you,
Marcin