The controller takes one announcement at a time
A merge's handler builds for minutes and keeps its own delivery alive; the announcements handed over behind it timed out on the client and came back, and a merge that came back rebuilt what it had just built, five times over (novox/hq issue 175). MaxAckPending 1 on the events consumer: the server holds the rest.
This commit is contained in:
@@ -179,6 +179,7 @@ func (j *JetStream) EnsureConsumer(c Consumer) error {
|
||||
AckPolicy: nats.AckExplicitPolicy,
|
||||
AckWait: time.Duration(c.AckWaitSeconds) * time.Second,
|
||||
MaxDeliver: c.MaxDeliver,
|
||||
MaxAckPending: c.MaxAckPending,
|
||||
DeliverGroup: c.Queue,
|
||||
DeliverSubject: "",
|
||||
Description: c.Why,
|
||||
|
||||
Reference in New Issue
Block a user