Merge main: hold a moving machine back, then deliver the rest grants first
Main sends every machine through deliver (memberships before declarations, hq ADR 0218); this branch holds back a machine whose running module's data would move (ADR 0217). Both stand: the held machines are filtered out before delivery, in the named push and its cascade alike.
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
-- A newer plan supersedes the older open plans of the same repository and branch (novox/hq issue 254,
|
||||
-- ADR 0218).
|
||||
--
|
||||
-- A merge produced a plan without looking at the plans still open, so two merges a few minutes apart
|
||||
-- were two plans working the same modules, and a plan stuck waiting on something that would never
|
||||
-- come stayed open for ever beside the newer ones. The newer plan now takes over what the older had
|
||||
-- not yet built and the older is closed as `superseded` — a state of its own, so `plans` can say
|
||||
-- which plan replaced it rather than reading as a failure.
|
||||
--
|
||||
-- `branch` is the branch the merge went into, so only a plan of the same branch is superseded. Empty
|
||||
-- for every plan from before this was kept: which branch it answered is not known, and such a plan
|
||||
-- is superseded by the next plan of its repository, whichever branch — nothing is lost by it, since
|
||||
-- what it had not built is folded into the plan that supersedes it.
|
||||
alter table release_plan add column branch text not null default '';
|
||||
|
||||
-- And the bus's user list the machine holding the bus was last sent, as a digest (novox/hq issue
|
||||
-- 249). A module's new grants are refused by the bus until its user list says them, so that machine
|
||||
-- is sent first whenever the list it would be sent differs from the one it was. Read from its whole
|
||||
-- declaration, every pending change on it — a recorded upgrade the operator chose not to roll out —
|
||||
-- went with every send anywhere. A digest and never the list (ADR 0043: the list is composed on each
|
||||
-- push, never kept). Empty for a machine never sent one, which reads as behind once.
|
||||
alter table node add column sent_bus_users text not null default '';
|
||||
Reference in New Issue
Block a user