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

Set builder get payload timeout to 3s #11413

Merged
merged 17 commits into from
Sep 28, 2022
Merged

Conversation

terencechain
Copy link
Member

@terencechain terencechain commented Sep 7, 2022

Fixes #11399

When using relay network:

  1. proposer retrieves header from relayer (default timeout: 1s)
    2a. if (1) timeout or fail, the proposer will default to local production
    2b. if (1) successes, the proposer will sign the header with the intent to retrieve the actual payload
  2. proposer sends the payload to relayer (default timeout: 1s)
  • if we do reach timeout here, the proposer will fail block processing and miss the block proposal
  • the more rational action here is to wait for at least 3s before the attestation deadline to submit the block. Given 4s is the attestation cut-off time in a given slot.
  • In the rational case, the proposer has a better fighting chance to complete a block proposal and make it into the canonical chain.
  • Given the proposer already has submitted the signature, the proposer doesn't have any alternative anymore

@terencechain terencechain added Ready For Review Builder PR or issue that supports builder related work labels Sep 7, 2022
@terencechain terencechain requested a review from a team as a code owner September 7, 2022 15:41
@terencechain terencechain self-assigned this Sep 7, 2022
@prestonvanloon
Copy link
Member

Build fails

@metachris
Copy link

Feels important! 1 second timeout for getPayload seems too short, there's relays that have latency issues, and at that point there's no fallback possible anymore.

@terencechain terencechain added the Priority: High High priority item label Sep 27, 2022
@terencechain
Copy link
Member Author

Feels important! 1 second timeout for getPayload seems too short, there's relays that have latency issues, and at that point there's no fallback possible anymore.

Thanks for voicing the feedback!

Copy link
Contributor

@rauljordan rauljordan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fully onboard with the rationale here, thanks for the detailed description

@terencechain terencechain merged commit a54bb19 into develop Sep 28, 2022
@delete-merged-branch delete-merged-branch bot deleted the builder-get-payload-timeout branch September 28, 2022 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builder PR or issue that supports builder related work Priority: High High priority item
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Increaes builder-api getPayload timeout to 3s
4 participants