Lift reth static-file symlink guard: op-reth v2.3.2 verified through symlink
Live test on rpc-uk-4 (unichain-mainnet pruned, 166G static_files moved to /slowdisk + symlinked): reth healed consistency, initialized the StaticFileProducer, and resumed committing canonical blocks - full read/write through the symlink. The guard's premise (old reth refusing symlinked static_files) no longer holds; pre-v2 reths fail loudly at start, fallback is --no-slowdisk. Restores/clones of reth nodes to SLOWDISK=True hosts now offload statics automatically (NVMe is the scarce resource). Note: reth also has --datadir.static-files for a flag-based layout later. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -543,15 +543,9 @@ main() {
|
|||||||
# Set up cleanup trap
|
# Set up cleanup trap
|
||||||
trap cleanup_all_ports EXIT INT TERM
|
trap cleanup_all_ports EXIT INT TERM
|
||||||
|
|
||||||
# RETH GUARD: reth refuses to start when its static_files directory is a symlink.
|
# (RETH GUARD removed 2026-07-09: op-reth v2.3.2 verified running + WRITING through a
|
||||||
# Match restore-volumes.sh: skip the whole /slowdisk static-file symlink offload
|
# symlinked static_files dir on rpc-uk-4. Pre-v2 reths that refuse symlinks fail loudly
|
||||||
# for reth nodes and extract everything onto the primary disk.
|
# at start - rerun with --no-slowdisk for those.)
|
||||||
if [[ "$1" == *reth* ]]; then
|
|
||||||
echo "WARNING: $1 contains 'reth' — static-file symlink offload disabled (reth broke whole-dir symlinks)"
|
|
||||||
echo " All volumes will be extracted onto the primary disk (equivalent to --no-slowdisk)"
|
|
||||||
NO_SLOWDISK=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
setup_ssh_multiplex
|
setup_ssh_multiplex
|
||||||
|
|
||||||
# Check if backup directory exists
|
# Check if backup directory exists
|
||||||
|
|||||||
@@ -517,15 +517,9 @@ main() {
|
|||||||
# Set up cleanup trap
|
# Set up cleanup trap
|
||||||
trap cleanup_all_ports EXIT INT TERM
|
trap cleanup_all_ports EXIT INT TERM
|
||||||
|
|
||||||
# RETH GUARD: reth refuses to start when its static_files directory is a symlink.
|
# (RETH GUARD removed 2026-07-09: op-reth v2.3.2 verified running + WRITING through a
|
||||||
# Match restore-volumes.sh: skip the whole /slowdisk static-file symlink offload
|
# symlinked static_files dir on rpc-uk-4. Pre-v2 reths that refuse symlinks fail loudly
|
||||||
# for reth nodes and extract everything onto the primary disk.
|
# at start - rerun with --no-slowdisk for those.)
|
||||||
if [[ "$1" == *reth* ]]; then
|
|
||||||
echo "WARNING: $1 contains 'reth' — static-file symlink offload disabled (reth broke whole-dir symlinks)"
|
|
||||||
echo " All volumes will be extracted onto the primary disk (equivalent to --no-slowdisk)"
|
|
||||||
NO_SLOWDISK=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
setup_ssh_multiplex
|
setup_ssh_multiplex
|
||||||
|
|
||||||
# the following sysctls are critical for high-latency networks
|
# the following sysctls are critical for high-latency networks
|
||||||
|
|||||||
@@ -153,8 +153,10 @@ while IFS= read -r key; do
|
|||||||
[ -d "$data_dir" ] && rm -rf "$data_dir"/*
|
[ -d "$data_dir" ] && rm -rf "$data_dir"/*
|
||||||
mkdir -p "$data_dir"
|
mkdir -p "$data_dir"
|
||||||
|
|
||||||
# 2) obtain the manifest (fetch the sidecar .txt for remote restores) and, unless this is
|
# 2) obtain the manifest (fetch the sidecar .txt for remote restores) and pre-create the
|
||||||
# a reth node (reth dropped whole-dir static-file symlinks), pre-create the offload.
|
# offload. (The old reth guard is gone: op-reth v2.3.2 verified running + WRITING through
|
||||||
|
# a symlinked static_files dir on rpc-uk-4, 2026-07-09. Ancient reths that predate this
|
||||||
|
# refuse to start - symptom is loud, fix is --no-slowdisk.)
|
||||||
local_meta="$meta_file"
|
local_meta="$meta_file"
|
||||||
if [[ -n "$remote_source" ]]; then
|
if [[ -n "$remote_source" ]]; then
|
||||||
local_meta="$backup_dir/$(basename "$meta_file")"
|
local_meta="$backup_dir/$(basename "$meta_file")"
|
||||||
@@ -163,9 +165,7 @@ while IFS= read -r key; do
|
|||||||
curl --ipv4 -fsS "${remote_source}${meta_file}" -o "$local_meta" 2>/dev/null || local_meta=""
|
curl --ipv4 -fsS "${remote_source}${meta_file}" -o "$local_meta" 2>/dev/null || local_meta=""
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ "$1" == *reth* ]]; then
|
if [ -n "$local_meta" ]; then
|
||||||
echo " reth node: static-file symlink offload disabled (reth broke whole-dir symlinks)"
|
|
||||||
elif [ -n "$local_meta" ]; then
|
|
||||||
prep_static_offload "$key" "$local_meta" "$data_dir" "$newest_file"
|
prep_static_offload "$key" "$local_meta" "$data_dir" "$newest_file"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user