You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cl/caplin: fix intermittent 0-peer sync failures on Gnosis (#19946)
## Summary
Fixes#19858
The Gnosis tip-tracking test intermittently fails because the stage
pipeline
enters sync stages before peer discovery completes (Gnosis has 5s slots
vs
mainnet 12s, narrowing the race window).
- **Add `WaitForPeers` stage**: 1s retry loop when peers=0, avoids
entering
ForwardSync/ChainTipSync prematurely without sleeping a full slot
- **Fix tight retry loop**: `fetchBlocksFromReqResp` now checks context
cancellation and backs off 2s on `ErrNoPeers`
- **Don't ban empty peerId**:
`BackwardBeaconDownloader.sendBlockRequest`
no longer calls `BanPeer("")` on `ErrNoPeers`
- **Improve observability**: `ErrNoPeers` log level raised from Trace to
Debug
## Test plan
- [x] `go build ./cl/phase1/stages/ ./cl/phase1/network/` — compiles
clean
- [x] Dispatch `qa-tip-tracking-gnosis` workflow on this branch to
verify fix
https://github.com/erigontech/erigon/actions/runs/23181300043
- [ ] Monitor that Debug logs appear when peers are temporarily
unavailable
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments