Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 44 additions & 1 deletion tooling/sync/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ flamegraph-hoodi start-lighthouse start-ethrex backup-db start-mainnet-metrics-d
start-sepolia-metrics-docker start-holesky-metrics-docker start-hoodi-metrics-docker \
start-metrics-docker tail-syncing-logs tail-metrics-logs copy_flamegraph import-with-metrics \
multisync-up multisync-down multisync-clean multisync-logs multisync-status \
multisync-restart multisync-monitor multisync-run multisync-loop multisync-loop-auto
multisync-restart multisync-monitor multisync-run multisync-loop multisync-loop-auto \
restart-stall-test restart-stall-test-skip-sync restart-stall-test-keep-data

ETHREX_DIR ?= "../.."

Expand Down Expand Up @@ -342,3 +343,45 @@ multisync-loop-auto: ## Continuous loop with auto-update: pull latest, build, an
--build-profile "$(MULTISYNC_BUILD_PROFILE)" \
--image-tag "$(MULTISYNC_LOCAL_IMAGE)" \
--ethrex-dir "$(ETHREX_DIR)"

# ==============================================================================
# Restart Stall Test (eth-docker)
# ==============================================================================
# Tests whether ethrex stalls on header download after restart.
# Uses eth-docker (must be cloned already) with ethrex + Prysm.
# Phase 1: Fresh snap sync (terminate + start, wait for completion)
# Phase 2: Stop only execution client, restart it, check for stall
# ==============================================================================

RESTART_TEST_NETWORK ?= hoodi
RESTART_TEST_COUNT ?= 0
RESTART_TEST_FEE_RECIPIENT ?=
ETH_DOCKER_DIR ?= $(HOME)/eth-docker

restart-stall-test: ## Run restart stall test via eth-docker: configure, sync, then restart cycles.
PYTHONUNBUFFERED=1 python3 restart_stall_test.py \
--eth-docker-dir $(ETH_DOCKER_DIR) \
--network $(RESTART_TEST_NETWORK) \
--restart-count $(RESTART_TEST_COUNT) \
--configure \
$(if $(RESTART_TEST_FEE_RECIPIENT),--fee-recipient $(RESTART_TEST_FEE_RECIPIENT)) \
--ethrex-dir $(ETHREX_DIR)

restart-stall-test-skip-sync: ## Run restart stall test, skip initial sync (node must be synced).
PYTHONUNBUFFERED=1 python3 restart_stall_test.py \
--eth-docker-dir $(ETH_DOCKER_DIR) \
--network $(RESTART_TEST_NETWORK) \
--restart-count $(RESTART_TEST_COUNT) \
--skip-phase1 \
$(if $(RESTART_TEST_FEE_RECIPIENT),--fee-recipient $(RESTART_TEST_FEE_RECIPIENT)) \
--ethrex-dir $(ETHREX_DIR)

restart-stall-test-keep-data: ## Run restart stall test keeping data (stop/start only, no wipe).
PYTHONUNBUFFERED=1 python3 restart_stall_test.py \
--eth-docker-dir $(ETH_DOCKER_DIR) \
--network $(RESTART_TEST_NETWORK) \
--restart-count $(RESTART_TEST_COUNT) \
--configure \
--keep-data \
$(if $(RESTART_TEST_FEE_RECIPIENT),--fee-recipient $(RESTART_TEST_FEE_RECIPIENT)) \
--ethrex-dir $(ETHREX_DIR)
Loading
Loading