Skip to content

Fix a bug in rollup node

Context

The daemon maintains a buffer of heads in its main loop to process them differently depending on their finalization status.

When the rollup node is interrupted, this buffer is lost and some heads may never be processed.

This MR fixes this specific issue (which was making some rollup tests flaky).

However, a deeper change will be needed to make sure that the rollup node is using a state which is persistent enough and that its processing can be interrupted and restarted based on this state. One way to achieve that is to make some part of the rollup processing idempotent so that it can be restarted from well-defined states and never skip any L1 heads.

This MR adds two follow-up issues to start this deeper refactoring.

Manually testing the MR

dune exec tezt/tests/main.exe -- sc_rollup

should be more robust

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Yann Regis-Gianas

Merge request reports