Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add retry mechanism in executionEngine for executePayload #3567

Closed
g11tech opened this issue Jan 4, 2022 · 1 comment · Fixed by #3854
Closed

Add retry mechanism in executionEngine for executePayload #3567

g11tech opened this issue Jan 4, 2022 · 1 comment · Fixed by #3854
Assignees
Labels
spec-bellatrix 🐼 Issues targeting the merge spec version.

Comments

@g11tech
Copy link
Contributor

g11tech commented Jan 4, 2022

Add retry for following scenarios

  • Execution Engine is unavailable
    • Explore all unavailability scenarios and the behavior of the json rpc client we are using
  • Execution Engine errors: Sometimes EL can give internal errors because of the software issues for e.g. nethermind sometimes give internal errors on some concurrency race conditions. Without explicit handling the error basis the error message, a basic retry (like 3 retires) could be done to see if EL can recover.

Basically there are 3 fundamental apis: new payload (retry needed), forkchoice updated (no retry needed without payloadattributes as it tells the EL where out head is, so in 12 seconds it will be called again so no worries, but with payload attributes max tries 3 within 1-2 second interval), and engine_getPayloadV1 again 3 tries with 2 sec interval.

Conclusion: In other to keep things simple, have 3 retries within 1-2 second interval for all the endpoints that needs to be retried.

Also add metrics for:

  • histogram of retry attempts per call
  • histogram of overall requests times to EL
@g11tech g11tech self-assigned this Jan 4, 2022
@philknows philknows added the spec-bellatrix 🐼 Issues targeting the merge spec version. label Jan 22, 2022
@g11tech
Copy link
Contributor Author

g11tech commented Feb 19, 2022

@dadepo want to try your hands on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
spec-bellatrix 🐼 Issues targeting the merge spec version.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants