You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
use plain files to store snapshots for easier out-of-band snapshot syncing
Problem Definition
Right now we store the chunks in files, but snapshot metadata is stored in a kv db, change to plain files will make it easier for external tools to manipulate the snapshots, which will be useful when we use local snapshot restorations and sync the snapshots out-of-band.
Proposal
Just use plain files and directories to store snapshots, without kv db.
- snapshots
- 00000000000008190000-002 # <height>-<format> padding with enough zeroes to keep the ordering
# this directory will be very easy to move around.
- snapshot # protobuf serialized `abci.RequestOfferSnapshot`
- chunks
- 1
- 2
Use os.ReadDir to iterate the snapshots
Read the snapshot file to get snapshot metadata
Chunk files are the same as before
Less performant than kv db, but should be alright since the number of snapshots won't be too big.
The text was updated successfully, but these errors were encountered:
A simpler alternative is just a command that import/export the snapshot in a portable format, basically just bundle the Snapshot message together with the chunk files.
Summary
use plain files to store snapshots for easier out-of-band snapshot syncing
Problem Definition
Right now we store the chunks in files, but snapshot metadata is stored in a kv db, change to plain files will make it easier for external tools to manipulate the snapshots, which will be useful when we use local snapshot restorations and sync the snapshots out-of-band.
Proposal
Just use plain files and directories to store snapshots, without kv db.
os.ReadDir
to iterate the snapshotssnapshot
file to get snapshot metadataThe text was updated successfully, but these errors were encountered: