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:
@@ -244,8 +244,13 @@ func MeshConsumers() []Consumer {
|
||||
Push: true,
|
||||
AckWaitSeconds: 30,
|
||||
MaxDeliver: 5,
|
||||
Why: "the two events the mesh's own controller reacts to; after max-deliver it " +
|
||||
"dead-letters, because an announcement it cannot act on will not become actionable",
|
||||
// One at a time (novox/hq issue 175): acting on a merge builds for minutes, and an
|
||||
// announcement handed over behind it must wait on the server, not time out on the
|
||||
// client and come back to be acted on again.
|
||||
MaxAckPending: 1,
|
||||
Why: "the two events the mesh's own controller reacts to, one at a time; after " +
|
||||
"max-deliver it dead-letters, because an announcement it cannot act on will not " +
|
||||
"become actionable",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user