Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

client/mmr: make it resilient to finality notifications loss #12780

Closed
Tracked by #1636
serban300 opened this issue Nov 25, 2022 · 0 comments · Fixed by #12822
Closed
Tracked by #1636

client/mmr: make it resilient to finality notifications loss #12780

serban300 opened this issue Nov 25, 2022 · 0 comments · Fixed by #12822
Assignees

Comments

@serban300
Copy link
Contributor

Derived from this comment: https://github.com/paritytech/substrate/pull/12753/files#r1031660875

In-flight finality notifications might get lost on client crashes/restarts. In order to account for this we need to:

  1. remember the last canonicalized block and canonicalize all the blocks between it and the blocks contained in the current finality notification if any
  2. persist some state for the MMR gadget
@serban300 serban300 self-assigned this Nov 25, 2022
@serban300 serban300 added this to BEEFY Nov 25, 2022
@acatangiu acatangiu moved this to Need for Kusama 🗒 in BEEFY Nov 25, 2022
@acatangiu acatangiu changed the title mmr gadget: make it resilient to finality notifications loss client/mmr: make it resilient to finality notifications loss Nov 25, 2022
@acatangiu acatangiu assigned acatangiu and unassigned serban300 Nov 30, 2022
acatangiu added a commit that referenced this issue Dec 7, 2022
client/mmr: persisting gadget state across runs

Fixes #12780

* client/mmr: on init do canonicalization catch-up

* client/mmr: add more tests

* client/mmr: persist gadget progress in aux db

* client/mmr: add more tests

* client/mmr: replace async_std with tokio

* remove leftover comment

* address review comments

Signed-off-by: acatangiu <[email protected]>
Repository owner moved this from Need for Kusama 🗒 to Done ✅ in BEEFY Dec 7, 2022
ltfschoen pushed a commit to ltfschoen/substrate that referenced this issue Feb 22, 2023
client/mmr: persisting gadget state across runs

Fixes paritytech#12780

* client/mmr: on init do canonicalization catch-up

* client/mmr: add more tests

* client/mmr: persist gadget progress in aux db

* client/mmr: add more tests

* client/mmr: replace async_std with tokio

* remove leftover comment

* address review comments

Signed-off-by: acatangiu <[email protected]>
ark0f pushed a commit to gear-tech/substrate that referenced this issue Feb 27, 2023
client/mmr: persisting gadget state across runs

Fixes paritytech#12780

* client/mmr: on init do canonicalization catch-up

* client/mmr: add more tests

* client/mmr: persist gadget progress in aux db

* client/mmr: add more tests

* client/mmr: replace async_std with tokio

* remove leftover comment

* address review comments

Signed-off-by: acatangiu <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants