Skip to content

Conversation

chong-he
Copy link
Member

Issue Addressed

#7727 introduced a bug in the logging, where as long as the node failed the SSZ get_validator_blocks_v3 endpoint, it would log as Beacon node does not support.... However, the failure can be due to other reasons, such as a timed out error as found by @jimmygchen:

WARN Beacon node does not support SSZ in block production, falling back to JSON slot: 5283379, error: HttpClient(url: https://ho-h-bn-cowl.spesi.io:15052/, kind: timeout, detail: operation timed out

Proposed Changes

This PR made the error log more generic, so there is less confusion.

Additionally, suggested by @michaelsproul, this PR refactors the get_validator_blocks_v3 calls by trying all beacon nodes using the SSZ endpoint first, and if all beacon node fails the SSZ endpoint, only then fallback to JSON.

It changes the logic from:
"SSZ -> JSON for primary beacon node, followed by SSZ -> JSON for second beacon node and so on" to
"SSZ for all beacon nodes -> JSON for all beacon nodes"

This has the advantage that if the primary beacon node is having issues and failed the SSZ, we avoid retrying the primary beacon node again on JSON (as it could be that the primary beacon node fail again); rather, we switch to the second beacon node.

Additional Info

As the calling of get_validator_blocks_v3 (and it's SSZ counterpart) is shifted to another function, the remaining part in the function get_validator_block is a bit of dangling in the air, so I moved them all to the now renamed get_validator_block_and_publish_block function and delete the original get_validator_block function.

@chong-he chong-he added val-client Relates to the validator client binary ready-for-review The code is ready for review labels Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review The code is ready for review val-client Relates to the validator client binary

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant