fix(prune-cache): close the reader-marker check-then-delete window #2

Merged
claude merged 5 commits from fix/prune-cache-reader-window into main 2026-08-24 14:35:53 +00:00
2 changed files with 5 additions and 4 deletions
Showing only changes of commit b0d63c807b - Show all commits
+1 -1
View File
@@ -45,7 +45,7 @@
# renamed and not yet decided about; reclaiming that one lets `rm -rf`
# empty a tree its owner may still restore under a live cache name. Its
# fixture is an OLD directory renamed a moment ago — production's shape,
# and the only shape that can tell the two timestamps apart.
# and what lets it tell the two timestamps apart.
set -euo pipefail
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
. "$script_dir/cache-lib.sh"
+4 -3
View File
@@ -92,9 +92,10 @@ STALE_LOCK_SECONDS="${STALE_LOCK_SECONDS:-7200}"
# and it separates them without having to identify the pass that created it.
# The `$$` in an aside's name was that pass's PID inside its own job
# container, so testing it with `kill -0` from a different one is not
# unreliable, it is meaningless — and PIDs recycle besides. Three orders of magnitude of headroom over the operation it covers,
# and short enough that a genuine leftover is reclaimed by the next run rather
# than lingering while the volume is under pressure.
# unreliable, it is meaningless — and PIDs recycle besides. Three orders of
# magnitude of headroom over the operation it covers, and short enough that a
# genuine leftover is reclaimed by the next run rather than lingering while
# the volume is under pressure.
EVICTION_ASIDE_SETTLE_SECONDS="${EVICTION_ASIDE_SETTLE_SECONDS:-60}"
declare -A protected_ns=()