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

Override the timeout_commit and timeout_propose when switching to v3 #3859

Open
evan-forbes opened this issue Sep 11, 2024 · 2 comments · May be fixed by #3882
Open

Override the timeout_commit and timeout_propose when switching to v3 #3859

evan-forbes opened this issue Sep 11, 2024 · 2 comments · May be fixed by #3882
Assignees
Labels
required issue is required to be closed before workstream can be closed warn:blocked item is not currently being worked on but is still blocked WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc WS: V3 3️⃣ item is directly relevant to the v3 hardfork
Milestone

Comments

@evan-forbes
Copy link
Member

evan-forbes commented Sep 11, 2024

We should override the timeouts upon the switch to app version v3

@evan-forbes evan-forbes added WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc WS: V3 3️⃣ item is directly relevant to the v3 hardfork labels Sep 11, 2024
@evan-forbes evan-forbes added this to the v3 milestone Sep 11, 2024
@rootulp
Copy link
Collaborator

rootulp commented Sep 11, 2024

Context

Validator's locally configure these timeouts in config.toml:

# How long we wait for a proposal block before prevoting nil
timeout_propose = "10s"
# How much timeout_propose increases with each round
timeout_propose_delta = "500ms"
# How long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil)
timeout_prevote = "1s"
# How much the timeout_prevote increases with each round
timeout_prevote_delta = "500ms"
# How long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil)
timeout_precommit = "1s"
# How much the timeout_precommit increases with each round
timeout_precommit_delta = "500ms"
# How long we wait after committing a block, before starting on the new
# height (this gives us a chance to receive some more precommits, even
# though we already have +2/3).
timeout_commit = "11s"

Problem

We'd like to decrease the block time from ~11.75 seconds to ~6 seconds at the same time that celestia-app v3 gets deployed to networks.

We don't want to rely on validator's manually configuring timeouts in their config.toml because we can't guarantee that they will be modified at the same time. Therefore, we'd like to add ADR-115's next_block_delay as a field in EndBlockResponse. If it exists, use that instead of timeout commit.

Proposal

Backport ADR-115 to celestia-core

Related

@evan-forbes evan-forbes added the required issue is required to be closed before workstream can be closed label Sep 12, 2024
@rootulp
Copy link
Collaborator

rootulp commented Sep 13, 2024

Notes from discussion w/ @evan-forbes :

  • This issue diverges from ADR-115 because we want to override two params not just one (as proposed in ADR-115).
  • This is blocked on experiments for determining what the values are.
    • @evan-forbes hypothesizes that TimeoutCommit = ~4.7 seconds and TimeoutProposal = ~3.5 seconds.
    • @evan-forbes teach @rootulp how to run experiment to determine the correct timeouts. Blocked on @evan-forbes syncing with @sysrex because he's currently using his personal accounts for Congest.

@rootulp rootulp added the warn:blocked item is not currently being worked on but is still blocked label Sep 13, 2024
@rootulp rootulp changed the title Override the timeout commit and proposal timeouts when switching to v3 Override the timeout_commit and timeout_propose when switching to v3 Sep 13, 2024
@rootulp rootulp assigned staheri14 and unassigned rootulp Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
required issue is required to be closed before workstream can be closed warn:blocked item is not currently being worked on but is still blocked WS: Maintenance 🔧 includes bugs, refactors, flakes, and tech debt etc WS: V3 3️⃣ item is directly relevant to the v3 hardfork
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants