Skip to content

fix(heal-sweep): budget for the full-catalog pace and self-recover stale quarantine - #140

Closed
majinghe wants to merge 1 commit into
mainfrom
fix/heal-sweep-budget-recovery
Closed

majinghe wants to merge 1 commit into
mainfrom
fix/heal-sweep-budget-recovery

Conversation

@majinghe

@majinghe majinghe commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

Two operational fixes from today's three full-run attempts:

1. Time budget. Observed full-catalog pace is 6–14 h (admin cases 2–5 min; disk/versions/shards families 5–30 min). The 540-min loop budget would truncate the catalog even on a clean run. Loop → 900 min, job → 990 min.

2. Self-recover stale quarantine. The runner service was stopped by host maintenance three times today (journal: 06:52, 07:18–11:19, 12:32), each kill leaving quarantine markers + a live rustfs deployment that blocked every later admission (the 07:06 scheduled run died exactly there). Admission now inspects marker ownership on failure: markers whose owning run is no longer queued/in_progress are recovered (stop rustfs, purge, remove marker) and admission retries once; markers owned by a live run are never touched.

…ale quarantine

Observed full-catalog pace is 6-14 h (disk/versions/shards cases run
5-30 min each), past the 540-min loop budget — raise the loop to 900
and the job to 990 min.

The runner service is occasionally stopped by host maintenance
mid-case (journal: stops at 06:52, 07:18-11:19, 12:32 on Nov 4 each
killed an in-flight sweep). A killed run leaves its quarantine markers
and blocks every later admission until someone recovers manually.
Admission now checks marker ownership: markers whose run is no longer
queued/in_progress are recovered (stop rustfs, purge, remove marker)
and admission retries once; live quarantine is never touched.
@majinghe

majinghe commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #141: its branch was cut from main with this PR's full content (loop budget 900 min, job 990 min, stale-quarantine self-recovery) plus the manual-marker guard and the nightly-build race fix. All of it is now on main via #141 — resolving the conflict by closing this one.

@majinghe majinghe closed this Nov 5, 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