Skip to content

docs: operator runbook for maintenance scheduling - #342

Merged
beinan merged 1 commit into
lance-format:mainfrom
beinan:docs/maintenance-runbook
Oct 8, 2026
Merged

beinan merged 1 commit into
lance-format:mainfrom
beinan:docs/maintenance-runbook

Conversation

@beinan

@beinan beinan commented Oct 8, 2026

Copy link
Copy Markdown
Collaborator

Part of #333 (P0.6, backlog O2/O3).

What

docs/operations/maintenance-runbook.md: symptom-driven guide for WAL merge / compaction / index / repair scheduling. Sections: where to look (table of question → endpoint/metric/key), backlog growing, deciding whether a running execution is stuck, demand but nothing scheduled (seven admission reasons, cheapest first), compaction never commits on a hot table, executor died holding ownership, draining, known gaps.

Leading rule: progress decides whether something is stuck; leases, heartbeats, Running state, retry countdowns, Ready pods and elapsed time do not. Recovery is fenced and automatic; never delete ownership keys by hand.

Uses the metrics from #339 and the typed /merge-progress from #341. All numeric claims (15 s retry loop, 15-failure attention, 120 s fence, 30 s lease TTL, 3-failure cooldown, 256/4096 thresholds) verified against source.

Docs only; typos clean.

🤖 Generated with Claude Code

Eleven topic documents describe individual mechanisms but none answers
the operator's questions in order: is backlog real, is anything
scheduled, is the running thing working, why is nothing scheduled, why
does compaction never commit, what to do when an executor died holding
ownership. This runbook does, naming the exact endpoint, metric or etcd
key for each step and what the answer means.

The leading rule is that progress alone decides whether an execution is
stuck: leases, heartbeats, Running state, retry countdowns, Ready pods
and elapsed time are not evidence either way. Recovery is automatic and
fenced; the runbook says when to wait and when to escalate, and never to
delete ownership keys by hand.

Numbers (15 s retry loop, 15-failure attention threshold, 120 s fence,
30 s lease TTL, 3-failure cooldown, 256/4096 read thresholds) were
checked against source. Known gaps are listed so they are not debugged
as faults.

Refs lance-format#333.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@beinan
beinan merged commit 46aae52 into lance-format:main Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant