Store blobs in separate freezer or historical state freezer

This commit is contained in:
Emilia Hane
2023-01-11 00:17:26 +01:00
parent 41567194e9
commit f9737628fc
7 changed files with 112 additions and 3 deletions

View File

@@ -103,6 +103,11 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
)
.takes_value(true)
.default_value("0"),
Arg::with_name("blobs-freezer-dir")
.long("blobs-freezer-dir")
.value_name("DIR")
.help("Data directory for the blobs freezer database.")
.takes_value(true),
)
.subcommand(migrate_cli_app())
.subcommand(version_cli_app())
@@ -123,6 +128,10 @@ fn parse_client_config<E: EthSpec>(
client_config.freezer_db_path = Some(freezer_dir);
}
if let Some(blobs_freezer_dir) = clap_utils::parse_optional(cli_args, "blobs-freezer-dir")? {
client_config.blobs_freezer_db_path = Some(blobs_freezer_dir);
}
let (sprp, sprp_explicit) = get_slots_per_restore_point::<E>(cli_args)?;
client_config.store.slots_per_restore_point = sprp;
client_config.store.slots_per_restore_point_set_explicitly = sprp_explicit;
@@ -144,11 +153,13 @@ pub fn display_db_version<E: EthSpec>(
let spec = runtime_context.eth2_config.spec.clone();
let hot_path = client_config.get_db_path();
let cold_path = client_config.get_freezer_db_path();
let cold_blobs_path = client_config.get_blobs_freezer_db_path();
let mut version = CURRENT_SCHEMA_VERSION;
HotColdDB::<E, LevelDB<E>, LevelDB<E>>::open(
&hot_path,
&cold_path,
&cold_blobs_path,
|_, from, _| {
version = from;
Ok(())
@@ -200,10 +211,12 @@ pub fn inspect_db<E: EthSpec>(
let spec = runtime_context.eth2_config.spec.clone();
let hot_path = client_config.get_db_path();
let cold_path = client_config.get_freezer_db_path();
let cold_blobs_path = client_config.get_blobs_freezer_db_path();
let db = HotColdDB::<E, LevelDB<E>, LevelDB<E>>::open(
&hot_path,
&cold_path,
&cold_blobs_path,
|_, _, _| Ok(()),
client_config.store,
spec,
@@ -254,12 +267,14 @@ pub fn migrate_db<E: EthSpec>(
let spec = &runtime_context.eth2_config.spec;
let hot_path = client_config.get_db_path();
let cold_path = client_config.get_freezer_db_path();
let cold_blobs_path = client_config.get_blobs_freezer_db_path();
let mut from = CURRENT_SCHEMA_VERSION;
let to = migrate_config.to;
let db = HotColdDB::<E, LevelDB<E>, LevelDB<E>>::open(
&hot_path,
&cold_path,
&cold_blobs_path,
|_, db_initial_version, _| {
from = db_initial_version;
Ok(())
@@ -294,10 +309,12 @@ pub fn prune_payloads<E: EthSpec>(
let spec = &runtime_context.eth2_config.spec;
let hot_path = client_config.get_db_path();
let cold_path = client_config.get_freezer_db_path();
let cold_blobs_path = client_config.get_blobs_freezer_db_path();
let db = HotColdDB::<E, LevelDB<E>, LevelDB<E>>::open(
&hot_path,
&cold_path,
&cold_blobs_path,
|_, _, _| Ok(()),
client_config.store,
spec.clone(),