This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
Remove discarded block bodies and states from the database. #11912
Labels
C1-low
PR touches the given topic and has a low impact on builders.
I8-footprint
An enhancement to provide a smaller (system load, memory, network or disk) footprint.
U3-nice_to_have
Issue is worth doing eventually.
Z1-easy
Can be fixed primarily by duplicating and adapting code by an intermediate coder
Z6-mentor
An easy task where a mentor is available. Please indicate in the issue who the mentor could be.
Block header and bodies currently account for 90% of the database size on disk. By default the node keeps all headers and bodies in the database, even ones that are not in the finalized chain. There no point in keeping old blocks that are not in the finalized chain, as they are of no interest to anyone. Such blocks should be removed by default, potentially saving a lot of disk space. An option to keep all blocks should be available (perhaps an extension of
--keep-blocks
).As it is with state pruning, the node should discard non-finalized blocks after some delay, to allow for reversion of finality.
State pruning in archive mode also keeps states for such blocks. There should be a separate pruning mode that preserves full state history for canonical chain only.
The text was updated successfully, but these errors were encountered: