Serve stale virtual members while they refresh #167

Merged
benvin merged 5 commits from benvin/virtual-serve-stale-member into master 2026-10-25 15:44:16 +11:00

5 Commits

Author SHA1 Message Date
unkin-agent 24c4253345 Merge master
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-25 15:25:14 +11:00
unkin-agent 1ad9b32542 Merge master
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
2026-10-25 15:19:23 +11:00
unkin-agent 5b4f904a17 Guard serve_stale cold fetches against eviction and prune copies on every merge
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-25 13:50:09 +11:00
unkin-agent 50ef1291fc Bound serve_stale member copies by age, toggle and eviction
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
- drop a member's copy when serve_stale is off
- block on the member again once its copy is over an hour old
- skip storing a refresh whose entry was evicted or replaced
- show serve_stale in the UI and TUI
2026-10-25 13:29:43 +11:00
unkin-agent 327f09fc6f Serve a serve_stale member's previous index while it refreshes
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
Add a serve_stale remote flag. rpm, deb and alpine virtual merges use a
flagged member's last good fetch immediately and refresh it in the
background, single-flighted per member.
2026-10-25 13:15:30 +11:00