Count a node's toolchain report only while its build module is assigned there, so a removed node no longer makes builders disagree (issue 1940) #34

Merged
jschoubben merged 1 commits from fix/1940-stale-toolchain into main 2026-10-24 11:10:45 +00:00
Member

Issue 1940 (critical): mesh-build-node_toolchains still holds ace.typescript v26.12.0, written before mesh-build-node was unassigned from ace; the indexer, builder and checker counted it, saw 'builders disagree' and gave mesh-sdk no fingerprint, so the 1937 delivery's tier 0 waited for ever.

The three read mesh-controller_assignments (reads: mesh-controller.assignments) through a key-value watch settled before the toolchain watch, and pass a node's report on only while that language's build module has an open assignment there; 'builders disagree' stays for assigned builders. If the bucket cannot be read they count every report as before and say so. Try try-1792838931192836053 passed (1m40s). Recovery: the new indexer writes mesh-sdk's fingerprint by itself; then plan-1792838111606250980 (closed 12:53 on the operator's word) is retried.

Reviewed-by: review-1940@shanks at 3553cbaf08
Pushed-by: lead-47@shanks

Issue 1940 (critical): mesh-build-node_toolchains still holds ace.typescript v26.12.0, written before mesh-build-node was unassigned from ace; the indexer, builder and checker counted it, saw 'builders disagree' and gave mesh-sdk no fingerprint, so the 1937 delivery's tier 0 waited for ever. The three read mesh-controller_assignments (reads: mesh-controller.assignments) through a key-value watch settled before the toolchain watch, and pass a node's report on only while that language's build module has an open assignment there; 'builders disagree' stays for assigned builders. If the bucket cannot be read they count every report as before and say so. Try try-1792838931192836053 passed (1m40s). Recovery: the new indexer writes mesh-sdk's fingerprint by itself; then plan-1792838111606250980 (closed 12:53 on the operator's word) is retried. Reviewed-by: review-1940@shanks at 3553cbaf08c190052cdf4d4130b632db740cd801 Pushed-by: lead-47@shanks
mesh-tools added 1 commit 2026-10-24 10:53:45 +00:00
mesh-build-node was unassigned from ace on 2026-10-23 and its ace.typescript key stayed in
mesh-build-node_toolchains at v26.12.0: nothing deletes it, so the indexer, the builder and the
checker took it for a builder and every Node fingerprint said 'builders disagree'. The three now
read mesh-controller_assignments and pass a toolchain report on only while its build module has an
open assignment on its node; builders that run different versions still disagree.
jschoubben merged commit 42d880f075 into main 2026-10-24 11:10:45 +00:00
jschoubben deleted branch fix/1940-stale-toolchain 2026-10-24 11:10:46 +00:00
Author
Member

Delivery novox/mesh-delivery@3553cbaf08c1 — delivered since 2026-10-24T11:20:37Z

Delivery plan — builds mesh-delivery-builder, mesh-delivery-checker, mesh-delivery-indexer → novox, shanks; no bus step

  • tier 0: mesh-delivery-builder, mesh-delivery-checker, mesh-delivery-indexer
  • novox: receives mesh-delivery-checker, mesh-delivery-indexer
  • shanks: receives mesh-delivery-builder
  • grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before mesh-delivery-builder is judged on its first machine

Machines

  • mesh-delivery-builder on every machine running it: sent
  • mesh-delivery-checker on every machine running it: sent
  • mesh-delivery-indexer on every machine running it: sent

Transitions

  • 2026-10-24 11:11 (new) → proposed (announced): novox/mesh-delivery#34 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-24 11:11 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
  • 2026-10-24 11:12 held → delivering (release): the operator merged mesh-delivery #34 (issue 1940, reviewed by review-1940@shanks, try passed) by hand at about 13:10, in the temporary mode; their merge is their word to release; its check could not reach the forge while gitea's watcher was dead (issue 1726)
  • 2026-10-24 11:20 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-delivery@3553cbaf08c1` — **delivered** since 2026-10-24T11:20:37Z **Delivery plan** — builds mesh-delivery-builder, mesh-delivery-checker, mesh-delivery-indexer → novox, shanks; no bus step - tier 0: mesh-delivery-builder, mesh-delivery-checker, mesh-delivery-indexer - novox: receives mesh-delivery-checker, mesh-delivery-indexer - shanks: receives mesh-delivery-builder - grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before mesh-delivery-builder is judged on its first machine **Machines** - mesh-delivery-builder on every machine running it: sent - mesh-delivery-checker on every machine running it: sent - mesh-delivery-indexer on every machine running it: sent **Transitions** - 2026-10-24 11:11 (new) → proposed (announced): novox/mesh-delivery#34 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-24 11:11 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on - 2026-10-24 11:12 held → delivering (release): the operator merged mesh-delivery #34 (issue 1940, reviewed by review-1940@shanks, try passed) by hand at about 13:10, in the temporary mode; their merge is their word to release; its check could not reach the forge while gitea's watcher was dead (issue 1726) - 2026-10-24 11:20 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#34