beacon x-upstreams: disable-validation on all beacon-chain upstreams
dshackle 0.79.10's beacon health validator (GET /eth/v1/node/health via GenericSingleCallValidator) times out after 5000ms on the spec-compliant empty-body 200 that nimbus returns, marking the upstream UNAVAILABLE in a flap loop; live requests routed during flap windows fail 'Source was empty'. This is the root cause behind dRPC's 617k failed validators POSTs complaint (2026-07-09). Reproduced + workaround verified on an isolated dshackle instance on de-14. Head tracking still governs availability. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -189,6 +189,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -195,6 +195,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-hoodi
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -196,6 +196,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-hoodi
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -200,6 +200,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -259,6 +259,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -261,6 +261,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -195,6 +195,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -196,6 +196,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -195,6 +195,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -196,6 +196,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -169,6 +169,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-hoodie
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -169,6 +169,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -169,6 +169,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -184,6 +184,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-hoodi
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -185,6 +185,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-hoodi
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -191,6 +191,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -183,6 +183,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -184,6 +184,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -242,6 +242,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -190,6 +190,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -184,6 +184,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -185,6 +185,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -183,6 +183,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -184,6 +184,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -184,6 +184,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -185,6 +185,12 @@ x-upstreams:
|
||||
chain: eth-beacon-chain-sepolia
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -163,6 +163,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain-chiado
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -166,6 +166,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain-chiado
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -161,6 +161,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain-chiado
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -163,6 +163,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -166,6 +166,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -161,6 +161,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -175,6 +175,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain-chiado
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -176,6 +176,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain-chiado
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -175,6 +175,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
@@ -176,6 +176,12 @@ x-upstreams:
|
||||
chain: gnosis-beacon-chain
|
||||
labels:
|
||||
provider: $${PROVIDER}-beacon-chain
|
||||
options:
|
||||
# dshackle 0.79.10's beacon health validator times out on the spec-compliant
|
||||
# empty-body 200 from /eth/v1/node/health (nimbus), flapping the upstream
|
||||
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
|
||||
# still governs health with validation off. 2026-07-10, dRPC incident.
|
||||
disable-validation: true
|
||||
connection:
|
||||
generic:
|
||||
rpc:
|
||||
|
||||
Reference in New Issue
Block a user