-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nats: Make MaxAckPending and MaxAckWaitTime configurable #10393
Comments
should we already add those settings to our oCIS chart with NATS deployment example? https://github.com/owncloud/ocis-charts/blob/main/deployments/ocis-nats/streams/ocis.yaml exposes all the stream settings already. Our Kubernetes deployments already could benefit from this a lot!? |
Yes it should. If possible please set them. |
@kobergj do you have proposals for Just to interweave our ticket clusters a little bit: #8949 would maybe take out some pressure on high message count situations!? It also would allow more fine granular redeliver settings. Eg. the postprocessing messages could need a very high |
That sounds reasonable. The requirements for the different use cases could be fulfilled better in separate streams. |
When putting heavy load to nats receivers the nats service will possibly redeliver events and therefore duplicate them. This is because we do not configure it correctly.
When pulling events from the queue the expected behaviour is the following:
The event is pulled from the queue and delivered into a channel. When consumed from this channel the event will be acknowledged on the nats server. On high load this can cause problems. Sine
MaxAckWaitTime
is30s
by default, the nats server will redeliver the event after 30s. Leading to two identical events waiting to be picked up from the channel. SinceMaxAckPending
is set to1000
by default, this can lead to up to 1000 identical events waiting for being processed.We already introduced worker groups to be able to handle multiple events at the same time. We now need to make
MaxAckWaitTime
andMaxAckPending
configurable, so they can configured individually.Acceptance Criteria:
MaxAckWaitTime
andMaxAckPending
The text was updated successfully, but these errors were encountered: