Skip to content

storage: Alternative representation of the genesis file. #1037

@jmalicevic

Description

@jmalicevic

The genesis file is stored as a value in CometBFTs kv store. As the file can be large it can hit the internal file size limitations of databases.

We need to figure out an alternative representation of this file. A proposal was to store the hash of the genesis file in the state store but the actual file is stored outside the store.

Existing PRs targetting this :

A potentially related problem is that at the moment the Genesis file is retrievable via RPC. Even though it is retrieved in chunks, it is still loaded entirely into memory before it is chunked up. We could improve on this if we take it into consideration.

Things to understand and complete as part of this issue:

After discussing, this issue will be addressed in two phases:

Phase I

Phase II

Phase III

DoD

  • Genesis file is not stored as one entry in the state store
  • Tests written to confirm no errors are generated for large genesis files
  • Document how the genesis file is stored and represented
  • (stretch) Improve retrieval of Genesis file when requested via RPC

Metadata

Metadata

Assignees

Labels

P:storage-optimizationPriority: Give operators greater control over storage and storage optimizationP:tech-debtPriority: Technical debt that needs to be paid off to enable us to move faster, reliablybacklogA prioritized task in the team's backlogrpc

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions