[go: up one dir, main page]

Backport v22 !17961: Rollup node: correctly overwrite outbox messages in the DB on reorg

Backport !17961 (merged) to v22: Rollup node: correctly overwrite outbox messages in the DB on reorg

Commits

  • 57036eb7 Test/Rollup node: fix flakyness in auto outbox execution tests
  • ddfca32e Test/Rollup node: test for issue with outbox execution reorg
  • 8779d828 Rollup node: emit error event when outbox message is missing from PVM
  • b652283a Rollup node: Don't try to execute outbox messages if no filter
  • 4cdfcdad Rollup node: correctly overwrite outbox messages in the DB on reorg
  • 41b80c31 Doc: changelog fix

Original MR description

What

This MR contains a fix for how the rollup node registers outbox messages in its DB in case of reorg.

Why

This issue created a problem on ghostnet for some operators, which triggered an assert false in the code. This makes the rollup node enter degraded mode repeatedly (every 10s) but it can still progress (by hiccups).

How

  1. Properly delete messages if the new block in the reorg does not have any.
  2. Emit an error log but don't crash if the issue reproduces.
  3. Don't try to execute outboxes if the config filters everything out.

Testing

dune exec tezt/tests/main.exe -- -f sc_rollup.ml reorg

You can run the test

dune exec tezt/tests/main.exe -- -f sc_rollup.ml -t 'Alpha: wasm_2_0_0 - Outbox execution when reorg without message should not crash' -v

before the commit Rollup node: emit error event when outbox message is missing from PVM and verify it fails.

Merge request reports

Loading