Fix the database storage size limit
This commit is contained in:
parent
d3600bfb73
commit
d8f4baf9a3
@ -7,7 +7,7 @@ use crate::storage::records::{
|
||||
};
|
||||
use anyhow::{anyhow, bail, ensure, Context};
|
||||
use libmdbx::{
|
||||
Database, DatabaseFlags, Environment, EnvironmentFlags, Transaction, TransactionKind,
|
||||
Database, DatabaseFlags, Environment, EnvironmentFlags, Geometry, Transaction, TransactionKind,
|
||||
WriteFlags, WriteMap, RO, RW,
|
||||
};
|
||||
use log::info;
|
||||
@ -106,7 +106,19 @@ impl RakerStore {
|
||||
let mut flags = EnvironmentFlags::default();
|
||||
flags.no_sub_dir = true;
|
||||
|
||||
let mut geom = Geometry::default();
|
||||
// Don't stop the database growing until it hits 64 GiB.
|
||||
// (The default is 1 MiB which is just not enough!)
|
||||
geom.size = Some(1024 * 1024..64 * 1024 * 1024 * 1024);
|
||||
|
||||
// Grow 16 MiB at a time.
|
||||
geom.growth_step = Some(16 * 1024 * 1024);
|
||||
// Shrink 64 MiB at a time.
|
||||
geom.shrink_threshold = Some(64 * 1024 * 1024);
|
||||
// (Yes these numbers represent a large database).
|
||||
|
||||
let env = Environment::new()
|
||||
.set_geometry(geom)
|
||||
.set_max_dbs(256)
|
||||
.set_flags(flags)
|
||||
.open(path)?;
|
||||
|
Loading…
Reference in New Issue
Block a user