A build puller parked at capacity 0 wakes when its settings file changes, and retries a failed setting follow (issue 734's kind) #122

Merged
mesh-tools merged 2 commits from fix/park-wakes into main 2026-10-28 21:03:13 +00:00
Member

A replaced build module whose settings file still held an old value (not a whole number) parked at capacity 0, and nothing woke it when the node-engine refilled the file or after its bus follow of the config value timed out (2026-10-28, mesh-catalog #553 waited about 13 minutes).

The puller now:

  • wakes on a write or replacement of its settings file (inotify, no timer), and re-arms that watch when the kernel drops it (IN_IGNORED), said once;
  • retries a failed config follow at the next wake, each failure said once;
  • says a capacity of 0 and why (CapacityNote); an unreadable or refused setting is a fault.

One subtest in TestPullAtCapacityZeroTakesNothing proves the wake, the retry and the re-arm; it waits on the arm event, with no sleep.

Group with mesh-catalog fix/park-wakes, which pins this head.

Review: rev-l2 approved c006aa8 (mesh-sdk) and 848c0cbd (mesh-catalog). The later commits fold in the review's notes (IN_IGNORED re-arm, no sleep in the test) plus the re-pin.

Reviewed-by: rev-l2@shanks at 9e5666b4d6

A replaced build module whose settings file still held an old value (not a whole number) parked at capacity 0, and nothing woke it when the node-engine refilled the file or after its bus follow of the config value timed out (2026-10-28, mesh-catalog #553 waited about 13 minutes). The puller now: - wakes on a write or replacement of its settings file (inotify, no timer), and re-arms that watch when the kernel drops it (IN_IGNORED), said once; - retries a failed config follow at the next wake, each failure said once; - says a capacity of 0 and why (CapacityNote); an unreadable or refused setting is a fault. One subtest in TestPullAtCapacityZeroTakesNothing proves the wake, the retry and the re-arm; it waits on the arm event, with no sleep. Group with mesh-catalog fix/park-wakes, which pins this head. Review: rev-l2 approved c006aa8 (mesh-sdk) and 848c0cbd (mesh-catalog). The later commits fold in the review's notes (IN_IGNORED re-arm, no sleep in the test) plus the re-pin. Reviewed-by: rev-l2@shanks at 9e5666b4d6f581930fb0227ed65156dcca9aeb69
mesh-tools added 2 commits 2026-10-28 20:25:46 +00:00
Settings watch: arm again when the kernel drops it (IN_IGNORED), said once; the test waits on the arm, not a sleep
mesh/delivery merged: source.main moved to novox/mesh-sdk@53f26493697e
mesh/delivery-group group fix/park-wakes merged: every member is merged
mesh/check pass 9e5666b4d6f5 on af08be36a27a | unit 5960 run, 332 kept, 18 skipped | integration 6012 run, 365 kept, 30 skipped | over bound: unit, in…
9e5666b4d6
Author
Member

Delivery novox/mesh-sdk@9e5666b4d6f5 — merged since 2026-10-28T21:03:16Z

Source — source.main moved to novox/mesh-sdk@53f2649369. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/park-wakes: novox/mesh-catalog@5c6899e641, novox/mesh-sdk@9e5666b4d6

  • composed together: pass — the checker's verdict at the members' heads (d0cdd3e43b1d)

Transitions

  • 2026-10-28 20:25 (new) → proposed (announced): novox/mesh-sdk#122's head announced
  • 2026-10-28 20:25 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-28 21:03 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@9e5666b4d6f5` — **merged** since 2026-10-28T21:03:16Z **Source** — source.main moved to novox/mesh-sdk@53f26493697e. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/park-wakes`: novox/mesh-catalog@5c6899e64166, novox/mesh-sdk@9e5666b4d6f5 - composed together: pass — the checker's verdict at the members' heads (d0cdd3e43b1d) **Transitions** - 2026-10-28 20:25 (new) → proposed (announced): novox/mesh-sdk#122's head announced - 2026-10-28 20:25 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-28 21:03 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 53f2649369 into main 2026-10-28 21:03:13 +00:00
mesh-tools deleted branch fix/park-wakes 2026-10-28 21:03:14 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#122