mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-23 06:11:07 +00:00
Add cli param to limit database cache size (#1261)
* Add cli param to limit datbase cache size * fixing tests
This commit is contained in:
committed by
GitHub
parent
8606595a6d
commit
bd2a206e40
@@ -228,7 +228,10 @@ where
|
|||||||
.into();
|
.into();
|
||||||
|
|
||||||
config.database_path = db_path(&base_path, config.chain_spec.id()).to_string_lossy().into();
|
config.database_path = db_path(&base_path, config.chain_spec.id()).to_string_lossy().into();
|
||||||
|
config.database_cache_size = match matches.value_of("database_cache_size") {
|
||||||
|
Some(s) => Some(s.parse().map_err(|_| "Invalid Database Cache size specified")?),
|
||||||
|
_=> None
|
||||||
|
};
|
||||||
config.pruning = match matches.value_of("pruning") {
|
config.pruning = match matches.value_of("pruning") {
|
||||||
Some("archive") => PruningMode::ArchiveAll,
|
Some("archive") => PruningMode::ArchiveAll,
|
||||||
None => PruningMode::default(),
|
None => PruningMode::default(),
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ pub struct CoreParams {
|
|||||||
#[structopt(long = "light")]
|
#[structopt(long = "light")]
|
||||||
light: bool,
|
light: bool,
|
||||||
|
|
||||||
|
/// Limit the memory the database cache can use
|
||||||
|
#[structopt(long = "db-cache", value_name = "MiB")]
|
||||||
|
database_cache_size: Option<u32>,
|
||||||
|
|
||||||
/// Listen on this multiaddress
|
/// Listen on this multiaddress
|
||||||
#[structopt(long = "listen-addr", value_name = "LISTEN_ADDR")]
|
#[structopt(long = "listen-addr", value_name = "LISTEN_ADDR")]
|
||||||
listen_addr: Vec<String>,
|
listen_addr: Vec<String>,
|
||||||
|
|||||||
@@ -415,7 +415,7 @@ impl<Factory: ServiceFactory> Components for FullComponents<Factory> {
|
|||||||
), error::Error>
|
), error::Error>
|
||||||
{
|
{
|
||||||
let db_settings = client_db::DatabaseSettings {
|
let db_settings = client_db::DatabaseSettings {
|
||||||
cache_size: None,
|
cache_size: config.database_cache_size.map(|u| u as usize),
|
||||||
path: config.database_path.as_str().into(),
|
path: config.database_path.as_str().into(),
|
||||||
pruning: config.pruning.clone(),
|
pruning: config.pruning.clone(),
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ pub struct Configuration<C, G: Serialize + DeserializeOwned + BuildStorage> {
|
|||||||
pub keystore_path: String,
|
pub keystore_path: String,
|
||||||
/// Path to the database.
|
/// Path to the database.
|
||||||
pub database_path: String,
|
pub database_path: String,
|
||||||
|
/// Cache Size for internal database in MiB
|
||||||
|
pub database_cache_size: Option<u32>,
|
||||||
/// Pruning settings.
|
/// Pruning settings.
|
||||||
pub pruning: PruningMode,
|
pub pruning: PruningMode,
|
||||||
/// Additional key seeds.
|
/// Additional key seeds.
|
||||||
@@ -81,6 +83,7 @@ impl<C: Default, G: Serialize + DeserializeOwned + BuildStorage> Configuration<C
|
|||||||
network: Default::default(),
|
network: Default::default(),
|
||||||
keystore_path: Default::default(),
|
keystore_path: Default::default(),
|
||||||
database_path: Default::default(),
|
database_path: Default::default(),
|
||||||
|
database_cache_size: Default::default(),
|
||||||
keys: Default::default(),
|
keys: Default::default(),
|
||||||
custom: Default::default(),
|
custom: Default::default(),
|
||||||
pruning: PruningMode::default(),
|
pruning: PruningMode::default(),
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ fn node_config<F: ServiceFactory> (
|
|||||||
network: network_config,
|
network: network_config,
|
||||||
keystore_path: root.join("key").to_str().unwrap().into(),
|
keystore_path: root.join("key").to_str().unwrap().into(),
|
||||||
database_path: root.join("db").to_str().unwrap().into(),
|
database_path: root.join("db").to_str().unwrap().into(),
|
||||||
|
database_cache_size: None,
|
||||||
pruning: Default::default(),
|
pruning: Default::default(),
|
||||||
keys: keys,
|
keys: keys,
|
||||||
chain_spec: (*spec).clone(),
|
chain_spec: (*spec).clone(),
|
||||||
|
|||||||
Reference in New Issue
Block a user