Skip to content

fix: enqueue resident WAL continuation after successful completion - #432

Merged
beinan merged 2 commits into
mainfrom
codex/resident-merge-immediate-continuation
Oct 21, 2026
Merged

beinan merged 2 commits into
mainfrom
codex/resident-merge-immediate-continuation

Conversation

@beinan

@beinan beinan commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

A successful bounded resident WAL merge publishes durable continuation demand, but its next task currently waits for the 15-second request scan. Short passes can spend most of their time between tasks: an isolated two-writer Azure fixture reclaimed 45 of 80 generations in 330 seconds across 21 successful passes.

After a successful resident task durably completes and releases its claim, read that target’s existing demand and enqueue through the normal queue, deduplication and revision-checked acknowledgement. Failed work or completion, legacy tasks, and absent demand do not immediately enqueue another task. The periodic recovery scan handles failures and crashes. The change adds one targeted read per successful resident completion and preserves normal execution permits and table ownership.

Validation:

  • The real-etcd regression failed before the fix: completion left demand without a successor when no scheduler scan was running.
  • Five targeted real-etcd tests now pass, including all four new regressions: immediate successor admission with no empty-task loop; exclusion of failed/legacy work; stale completion after actual lease revocation; and preservation of newer demand across an acknowledgement race. The existing memory-isolation test also passed.
  • cargo fmt and git diff --check pass. Self-review covered completion before enqueue, per-target reads, queue fairness, revision checks and durable recovery. The existing compaction-turn fairness test also passed, and CI Clippy is green. Three further real-etcd ownership/demand regressions passed (demand while running, expired claim replacement, and fenced new-table demand). Local Clippy 1.96.1 flags two unchanged baseline nonminimal_bool expressions; the full CI job uses Rust 1.99.1 and passes on this exact head. No local Clippy pass is claimed.
  • Full CI and the unchanged 80-generation Azure acceptance on a rebuilt image remain pending. The staging timing above diagnoses a small-slice scheduling delay; it is not a production throughput benchmark.

@beinan
beinan marked this pull request as ready for review October 21, 2026 11:18
@beinan
beinan merged commit df808e2 into main Oct 21, 2026
11 checks passed
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