backup-node: torn-backup floor guards the main data volume only
A 0G sidecar volume (ronin eigenda-proxy) FATAL'd the whole backup before the manifest was written - verify found no new backup and the refresh pipeline's bench-retire escalated 4 cycles in a row, head-of-line blocking the single refresh lane. Sidecars are legitimately tiny; the <1G fail-closed floor now applies only to the main data volume (key == compose basename). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -157,8 +157,15 @@ for key in $keys; do
|
|||||||
folder_size_gb=$(printf "%.0f" "$folder_size")
|
folder_size_gb=$(printf "%.0f" "$folder_size")
|
||||||
|
|
||||||
if (( folder_size_gb < 1 )) && [[ "$FORCE_SMALL" != true ]]; then
|
if (( folder_size_gb < 1 )) && [[ "$FORCE_SMALL" != true ]]; then
|
||||||
echo "FATAL: existing datadir too small for backup (${folder_size_gb}G at $source_folder); use --force if intentional" >&2
|
# The torn-backup floor applies to the MAIN data volume only (key == compose
|
||||||
exit 1
|
# basename). Sidecar volumes (eigenda-proxy, configs, ...) are legitimately
|
||||||
|
# tiny — a 0G sidecar aborting the whole backup left no manifest and blocked
|
||||||
|
# the refresh lane on every ronin bench-retire (4 cycles, 2026-07).
|
||||||
|
if [[ "$key" == "$(basename "$compose_name")" ]]; then
|
||||||
|
echo "FATAL: existing datadir too small for backup (${folder_size_gb}G at $source_folder); use --force if intentional" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "NOTE: sidecar volume rpc_$key is ${folder_size_gb}G — allowing small backup (floor guards the main data volume only)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
timestamp=$(date +'%Y-%m-%d-%H-%M-%S')
|
timestamp=$(date +'%Y-%m-%d-%H-%M-%S')
|
||||||
|
|||||||
Reference in New Issue
Block a user