To-be 47: a busy container on the first node holds only its walk, and the wait counts (ADR 0335)
mesh/delivery-group group feat/335-a-busy-container-is-replaced-when-idle rejected: its order contradicts itself: novox/mesh-catalog@190608193764, novox/mesh-c…
mesh/delivery checking
mesh/merge-gate out of date: judged against trunk b236b306c42a, the trunk is now 5a6200ec866c; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk b236b306c42a, the trunk is now 5a6200ec866c; judged again on a recheck or when it is merged
mesh/delivery-group group feat/335-a-busy-container-is-replaced-when-idle rejected: its order contradicts itself: novox/mesh-catalog@190608193764, novox/mesh-c…
mesh/delivery checking
mesh/merge-gate out of date: judged against trunk b236b306c42a, the trunk is now 5a6200ec866c; judged again on a recheck or when it is merged
mesh/repo-check out of date: judged against trunk b236b306c42a, the trunk is now 5a6200ec866c; judged again on a recheck or when it is merged
This commit is contained in:
@@ -2,8 +2,9 @@
|
||||
layer: to-be
|
||||
status: in-progress
|
||||
code: [mesh-controller, mesh-catalog modules/mesh-delivery]
|
||||
updated: 2026-10-12
|
||||
updated: 2026-10-13
|
||||
decisions:
|
||||
- "ADR 0335"
|
||||
- "ADR 0323"
|
||||
- "ADR 0313"
|
||||
- "ADR 0306"
|
||||
@@ -298,6 +299,18 @@ of walk B's send and not taken up as backlog while A is open; a group's second m
|
||||
overlapping dependents keeping two walks apart; the warning on the third set-aside; a failed apply failing every
|
||||
open judgement on its node.
|
||||
|
||||
*A busy container on the first node (2026-10-13, ADR 0335, citing ADR 0282 §1).* A container may declare `busy`,
|
||||
a command that says whether it holds work a replacement would lose; the build agent declares it, so a merge
|
||||
into the controller's repository no longer throws away the checks in flight. When a walk's send would replace
|
||||
such a container while it says busy, the node-engine leaves it running, applies the rest, and replaces it once
|
||||
it says idle, or after 15 minutes at the latest. Only that node's walk waits: the walk says it waits for a busy
|
||||
container there, its first-node gate starts at the report that says the container replaced, and the wait is a
|
||||
phase of the delivery time of its own, never exempted from the delivery budget. A delivery it puts over budget
|
||||
is said over budget, with that wait as its longest phase. *How it is checked:* the controller's test that a
|
||||
walk whose module's container waits as busy on its first node says so and starts that node's gate only once the
|
||||
node reports it replaced, and the walk-phase test that the wait is a measured phase between the send and the
|
||||
judgement.
|
||||
|
||||
**Who builds what.**
|
||||
|
||||
| Part | Owner | What it adds |
|
||||
|
||||
Reference in New Issue
Block a user