Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pruning #1190

Open
3 of 5 tasks
rakanalh opened this issue Sep 17, 2024 · 0 comments
Open
3 of 5 tasks

Pruning #1190

rakanalh opened this issue Sep 17, 2024 · 0 comments
Milestone

Comments

@rakanalh
Copy link
Contributor

rakanalh commented Sep 17, 2024

Currently, Citrea nodes (Sequencer / Full node / Prover) run in archive mode. Meaning that they store all block data ever since genesis all the way to the tip of the chain.

We'd like to implement pruning so that we can be selective on how much data we retain based on specific configuration parameters.

Based on Reth's pruning documentation, we'd like to implement a similar approach.

There are multiple areas which we should look into:

  1. EVM
  2. ProverStorageManager
  3. LedgerDB tables.

This is a parent issue which outlines the following tasks that need to be done:

Concerns

Given that our underlying database is RocksDB to which we write in a blocking fashion, running the pruner to delete records is going to be a time consuming process. Therefore, consider running the pruner in the async pool and using spawn_blocking for invoking writes or running the whole component in the blocking pool.

@eyusufatik eyusufatik added this to the Mainnet Should milestone Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants