[go: up one dir, main page]

EVM/Kernel: make the reboot mechanism level-agnostic

Context

Currently we abort the processing of a block in progress if we reach the reboot limit. However, it is not mandatory, the only property we want to keep is collecting the inbox at each level, the processing can take as many levels at it needs.

This merge request creates a slightly different workflow:

  1. Stage zero, reboots until it is done.
  2. Stage one, is always run if stage zero is done, and is a no-op if the inbox was already consumed
  3. Stage two, is run after stage one.

The idea is the same, but:

  1. As long as stage zero doesn't consume all the reboots, we are sure that at least one stage one will be called.
  2. Stage two takes as many reboots as it wants, and will consume the inbox during the block in progress.

Manually testing the MR

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

Merge request reports

Loading