Design 50: the own resolver's file waits longer than its pass over a silent mesh resolver (ADR 0678, issue 1748) #587

Merged
mesh-tools merged 2 commits from design/50-resolver-wait into main 2026-11-12 17:51:41 +00:00
Member

Amends design 50 from ADR 0678 (accepted 2026-11-12) for issue 1748: on a machine whose node-resolver holder runs its own resolver, the file names that resolver alone with options timeout:3 attempts:2 edns0 (§2), so a lookup outlasts the resolver's pass over a silent first mesh resolver; files listing the mesh's resolvers keep timeout:1 attempts:2. New milestone part 50-milestones/resolver-wait.md (§1-§5) holds the lines a builder cites; §4 keeps the value at 3 s per try until resolved's server switches can be read (a restart-and-ask at 18:05 CET did not show the pass, issue 1748 note 38); §5 proves it with the build steps at the next silence. Frontmatter: ADR 0678, mesh-host in code:.

Rules weighed: playbook 08's review by the four architectural-domain reviewers is skipped for this amendment: it sets one option value an accepted decision gives, and the code review of the build reads it against the design. go test ./... at the root passes.

Reviewed-by: fix-1965@shanks at ce0287dd5b4c (lead read of the trimmed amendment)

Amends design 50 from ADR 0678 (accepted 2026-11-12) for issue 1748: on a machine whose `node-resolver` holder runs its own resolver, the file names that resolver alone with `options timeout:3 attempts:2 edns0` (§2), so a lookup outlasts the resolver's pass over a silent first mesh resolver; files listing the mesh's resolvers keep `timeout:1 attempts:2`. New milestone part `50-milestones/resolver-wait.md` (§1-§5) holds the lines a builder cites; §4 keeps the value at 3 s per try until resolved's server switches can be read (a restart-and-ask at 18:05 CET did not show the pass, issue 1748 note 38); §5 proves it with the build steps at the next silence. Frontmatter: ADR 0678, mesh-host in `code:`. Rules weighed: playbook 08's review by the four architectural-domain reviewers is skipped for this amendment: it sets one option value an accepted decision gives, and the code review of the build reads it against the design. `go test ./...` at the root passes. Reviewed-by: fix-1965@shanks at ce0287dd5b4c (lead read of the trimmed amendment)
mesh-tools added 2 commits 2026-11-12 17:07:10 +00:00
ADR 0678: on a machine holding node-resolver the file names the own resolver
alone, so a program gave up after about 2 s while resolved still waited on a
silent first mesh resolver (issue 1748). Design 50 section 2 now gives the
file timeout:3 attempts:2 and how the value follows the measured pass; the
new milestone part resolver-wait holds the lines that build it, putting the
design in the shape of a main file and milestone parts.
Keep design 50 to what ADR 0678 asks, and hold the wait at 3 s per try
mesh/delivery merged: source.main moved to novox/hq@7247b92fd6b1
mesh/check being carried to ce0287dd2d87 on 7247b92fd6b1 | from 0d04a16560e4
ce0287dd2d
A restart of resolved and a timed ask at the own resolver answered in 44-46 ms
with the first mesh resolver silent, so no read catches the pass today: the
value stays ADR 0678's until a read of resolved's server switches exists, and
the proof is the Go build steps at the next silence. The phases table and the
as-built notes go back to main: a to-be design states no live state.
Author
Member

Delivery novox/hq@ce0287dd2d87 — merged since 2026-11-12T17:51:42Z

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

Transitions

  • 2026-11-12 17:07 (new) → proposed (announced): novox/hq#587's head announced
  • 2026-11-12 17:07 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-11-12 17:51 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/hq@ce0287dd2d87` — **merged** since 2026-11-12T17:51:42Z **Source** — source.main moved to novox/hq@7247b92fd6b1. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-12 17:07 (new) → proposed (announced): novox/hq#587's head announced - 2026-11-12 17:07 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-11-12 17:51 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 7247b92fd6 into main 2026-11-12 17:51:41 +00:00
mesh-tools deleted branch design/50-resolver-wait 2026-11-12 17:51:41 +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/hq#587