slots: incrementally backoff claiming slots if finality lags behind (#7186)
* babe: backoff authoring blocks when finality lags * babe: move backoff authoring params to default constructor * babe: deduplicate the test a bit * babe: set backoff constants in service * babe: use better names for backoff authoring block parameters * babe: remove last unwrap * babe: slight style tweak * babe: fix comment * slots: move backoff block authorship logic to SimpleSlotWorker * aura: append SlotInfo in on_slot * slots: use the correct types for parameters * slots: fix review comments * aura: add missing backoff authoring blocks parameters * slots: add comments for default values * slots: add additional checks in test * slots: update implementation for new master * slots: revert the change to SlotInfo * Fix review comments * slots: rework unit tests for backing off claiming slots * slots: add test for asymptotic behaviour for slot claims * slots: address review comments * slots: add test for max_interval * slots: add assertion for intervals between between claimed slots * slots: remove rustfmt directive * slots: another attempt at explaining authoring_rate * slots: up unfinalized_slack to 50 by default * slots: add tests for time to reach max_interval * slots: fix typo in comments * Apply suggestions from code review Co-authored-by:Bastian Köcher <bkchr@users.noreply.github.com> * slots: additional tweaks to comments and info calls * slots: rename to BackoffAuthoringOnFinalizedHeadLagging * slots: make the backing off strategy generic * Apply suggestions from code review Co-authored-by:
Bastian Köcher <bkchr@users.noreply.github.com> * slots: implement backoff trait for () for simplicity * slots: move logging inside backing off function to make it more specific * aura: add missing function parameter Co-authored-by:
Bastian Köcher <bkchr@users.noreply.github.com>
Showing
- substrate/Cargo.lock 2 additions, 0 deletionssubstrate/Cargo.lock
- substrate/bin/node-template/node/src/service.rs 3 additions, 1 deletionsubstrate/bin/node-template/node/src/service.rs
- substrate/bin/node/cli/Cargo.toml 1 addition, 0 deletionssubstrate/bin/node/cli/Cargo.toml
- substrate/bin/node/cli/src/service.rs 3 additions, 0 deletionssubstrate/bin/node/cli/src/service.rs
- substrate/client/consensus/aura/src/lib.rs 32 additions, 8 deletionssubstrate/client/consensus/aura/src/lib.rs
- substrate/client/consensus/babe/src/lib.rs 33 additions, 5 deletionssubstrate/client/consensus/babe/src/lib.rs
- substrate/client/consensus/babe/src/tests.rs 2 additions, 0 deletionssubstrate/client/consensus/babe/src/tests.rs
- substrate/client/consensus/slots/Cargo.toml 1 addition, 0 deletionssubstrate/client/consensus/slots/Cargo.toml
- substrate/client/consensus/slots/src/lib.rs 463 additions, 6 deletionssubstrate/client/consensus/slots/src/lib.rs
Please register or sign in to comment