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

Make dispute-coordinator more robust with regards to runtime errors #5882

Closed
eskimor opened this issue Aug 16, 2022 · 3 comments · Fixed by #6106
Closed

Make dispute-coordinator more robust with regards to runtime errors #5882

eskimor opened this issue Aug 16, 2022 · 3 comments · Fixed by #6106
Assignees
Labels
T4-parachains_engineering This PR/Issue is related to Parachains performance, stability, maintenance. T5-parachains_protocol This PR/Issue is related to Parachains features and protocol changes. U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible.

Comments

@eskimor
Copy link
Member

eskimor commented Aug 16, 2022

We had problems in the past with the RollingSessionWindow in the dispute-coordinator, resulting in it not working properly - while at the same time backing continued to work.

We should make usage of RollingSessionWindow at least as robust as backing - meaning if backing works, dispute-coordinator has to work as well, everything is unacceptable.

In particular this means, it has to be possible to trigger disputes in the current session, even if fetching the SessionInfo for some older session fails.

@eskimor eskimor added the U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible. label Aug 16, 2022
@eskimor
Copy link
Member Author

eskimor commented Aug 16, 2022

Same is true for approval-voting actually. If backing is possible for a particular block, approval voting has to work as well.

@ordian ordian moved this to Backlog in Parachains-core Aug 16, 2022
@ordian ordian added the T5-parachains_protocol This PR/Issue is related to Parachains features and protocol changes. label Aug 16, 2022
@eskimor
Copy link
Member Author

eskimor commented Sep 28, 2022

In general, we should make it as unlikely as reasonably possible that disputes/approval voting for non finalized blocks fails. Are there any other calls that might fail? -> Double check.

@eskimor
Copy link
Member Author

eskimor commented Sep 28, 2022

  • rolling_session_window should be altered to not be 'all-or-nothing'.
  • The window should 'stretch' to all sessions we can get, with pruning only done when the session is guaranteed to no longer be needed (i.e. finalization of expiry) Keep sessions in window for the full unfinalized chain #6054
  • Persistence to the DB as another layer of safety in the case of restarts

Persistence makes sense, because runtime only keeps x sessions - so even without block pruning, eventually it will get rid of old sessions. So for very long finality stalls (or not soo long on test networks), this will be a problem.

@sandreim sandreim self-assigned this Sep 28, 2022
@sandreim sandreim added the T4-parachains_engineering This PR/Issue is related to Parachains performance, stability, maintenance. label Oct 5, 2022
@sandreim sandreim moved this from To do to In progress in Parachains-core Oct 5, 2022
@sandreim sandreim moved this from In progress to Review in progress in Parachains-core Oct 13, 2022
@sandreim sandreim moved this from Review in progress to Versi burn-in in Parachains-core Nov 7, 2022
Repository owner moved this from Versi burn-in to Done in Parachains-core Nov 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T4-parachains_engineering This PR/Issue is related to Parachains performance, stability, maintenance. T5-parachains_protocol This PR/Issue is related to Parachains features and protocol changes. U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants