Skip to content

beacon/light: keep retrying checkpoint init if failed#33966

Open
zsfelfoldi wants to merge 2 commits intoethereum:masterfrom
zsfelfoldi:blsync-init-fix
Open

beacon/light: keep retrying checkpoint init if failed#33966
zsfelfoldi wants to merge 2 commits intoethereum:masterfrom
zsfelfoldi:blsync-init-fix

Conversation

@zsfelfoldi
Copy link
Contributor

This PR changes the blsync checkpoint init logic so that even if the initialization fails with a certain server and an error log message is printed, the server goes back to its initial state and is allowed to retry initialization after the failure delay period. The previous logic had an ssDone server state that did put the server in a permanently unusable state once the checkpoint init failed for an apparently permanent reason. This was not the correct behavior because different servers behave differently in case of overload and sometimes the response to a permanently missing item is not clearly distinguishable from an overload response. A safer logic is to never assume anything to be permanent and always give a chance to retry.
The failure delay formula is also fixed; now it is properly capped at maxFailureDelay. The previous formula did allow the delay to grow unlimited if a retry was attempted immediately after each delay period.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant