Skip to content

Database growth during non-finality #6580

@michaelsproul

Description

@michaelsproul

Description

Lighthouse presently stores 1 state per epoch in the hot database during periods of non-finality. During a multi-week period of non-finality this would lead to hundreds of gigabytes of states being stored and the likely exhaustion of many nodes' disk storage.

Steps to resolve

@dapplion and I have discussed adapting the HDiff approach (from #5978) to the hot database, and think we have a fairly good scheme that goes as follows:

  1. Store hdiffs in the hot database with state_root: Hash256 references rather than slot: Slot.
  2. Retain the diff path from the most recent snapshot to the split state, while pruning everything else with a slot prior to the split slot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    databasenon-finalityBugs and optimisations related to networks that are not finalizingoptimizationSomething to make Lighthouse run more efficiently.tree-statesOngoing state and database overhaulv7.1.0Post-Electra release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions