Skip to content

Enqueue observed WAL backlog before a full stats scan completes - #458

Merged
beinan merged 1 commit into
mainfrom
codex/admit-scan-merge-demand-early
Oct 22, 2026
Merged

beinan merged 1 commit into
mainfrom
codex/admit-scan-merge-demand-early

Conversation

@beinan

@beinan beinan commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

A hot table discovered early in a stats scan currently waits for every remaining table to finish before the merge sweep can see its pending WAL. On one production master, completed scans averaged about 92 minutes; this is a discovery delay independent of the separate legacy-worker admission blocker.

Consume each completed observation immediately and submit eligible targets to the existing durable merge queue. Incremental observations also qualify because they recount pending WAL. Preserve automatic-merge disablement, canonical deduplication, target encoding and all existing execution/ownership rules. Each scan can admit at most 256 new tasks and spend at most 10 seconds on queue admission, with a 2-second individual bound. An ambiguous queue error stops early admission for that round while observation and snapshot publication continue.

Validation: formatting and diff checks pass. Three real isolated-etcd regressions cover enqueue before a blocked observation completes, disablement/threshold/deduplication/budgets, and queue failure preserving the entire scan result. The final committed source passed all 18 scanner tests, including the three isolated-etcd regressions (0 failed or ignored); its commit and diff fingerprint stayed unchanged throughout the run. CI is running.

This adds no executor pool or rollout mode. It does not resolve historical unfenced requests, authorize replacement of an old writer, or bypass core_not_ready in the external recovery controller. It is separate from the already-building #454/#456 release.

@beinan
beinan marked this pull request as ready for review October 22, 2026 00:52
@beinan
beinan merged commit fdd15e3 into main Oct 22, 2026
14 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