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 an software override (1sec) for TimeoutPropose #31

Closed
wants to merge 1 commit into from

Conversation

teddyding
Copy link

@teddyding teddyding commented Jun 20, 2024

Problem

Network experiences a ~5sec block time when a proposer is offline/severely lagging behind. This is due to the current software default, TimeoutPropose = 3s, which means that when a proposer is unavailable, we spend 3s waiting for the proposal + 0.5s for round 0 prevote/precommit, so ~3.5s more than an average block.

This software default of 3s was not conscious, and could've been updated along when timeout_commit was reduced to 500ms.

See attached block dump during a period when 2 small validators went offline, and 4% of the blocks have elevated >5sec blocks. As a result, average block time is much higher than median block time during this period:

Median block time: 1.1144995 seconds
Average block time: 1.35415654 seconds

Solution

Add a software override for TimeoutPropose to 1s. This should be more than enough for a block where proposer is present. . This reduces p99 and average block time.

This requires a coordinated upgrade to maintain synchrony among validators.


PR checklist

  • Tests written/updated
  • Changelog entry added in .changelog (we use unclog to manage our changelog)
  • Updated relevant documentation (docs/ or spec/) and code comments

@teddyding teddyding changed the title Add an software override for TimeoutPropose Add an software override (1sec) for TimeoutPropose Jun 20, 2024
@teddyding teddyding force-pushed the td/timeout-propose-override branch from 18d5995 to 93f7da5 Compare June 20, 2024 21:58
@teddyding
Copy link
Author

Proceeding dydxprotocol/v4-chain#1751 instead

@teddyding teddyding closed this Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants