Send the bus its user list before a starting controller writes (issue 1800)
A new controller's grants reached the bus only after its gate, so the buckets it newly writes were refused until then. At start it now sends the bus's machine the user list alone, every build there kept.
This commit is contained in:
@@ -189,7 +189,9 @@ func serve(ctx context.Context) (err error) {
|
||||
// Open plans move on events (novox/hq ADR 0406 §5, issue 974): a tier is asked on the `built` and the send of the
|
||||
// tier before it, a walk ends on its machines' reports, a silent machine is a key that expired, and a plan left
|
||||
// by a replaced controller resumes from the first look, which this asks for. No timer looks every so often.
|
||||
startRolloutEvents(ctx, open, server.JetStream())
|
||||
// **Its own grants on the bus before it writes** (novox/hq issue 1800): a bucket this controller newly writes is
|
||||
// granted before the first write, not after its gate.
|
||||
startWithOwnGrants(ctx, ownGrantsOf(open), func() { startRolloutEvents(ctx, open, server.JetStream()) })
|
||||
// And the merge window (novox/hq ADR 0276, ADR 0407): a batch is cut into its walk when the window closes,
|
||||
// which no merge or outcome says. The window is two keys on the bus that expire and a watcher that hears it;
|
||||
// nothing polls (issue 973).
|
||||
|
||||
Reference in New Issue
Block a user