From fd2fe18de3eb245aaab78abf924301e3d4a1734f Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Mon, 6 Jun 2022 16:44:47 +0200 Subject: [PATCH] in db convert: map size up to 1TB on 64-bit systems --- src/db/bin/convert.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/db/bin/convert.rs b/src/db/bin/convert.rs index 636bd834..e5778abb 100644 --- a/src/db/bin/convert.rs +++ b/src/db/bin/convert.rs @@ -54,9 +54,17 @@ fn open_db(path: PathBuf, engine: String) -> Result { std::fs::create_dir_all(&path).map_err(|e| { Error(format!("Unable to create LMDB data directory: {}", e).into()) })?; + + let map_size = if u32::MAX as usize == usize::MAX { + eprintln!("LMDB is not recommended on 32-bit systems, database size will be limited"); + 1usize << 30 // 1GB for 32-bit systems + } else { + 1usize << 40 // 1TB for 64-bit systems + }; + let db = lmdb_adapter::heed::EnvOpenOptions::new() .max_dbs(100) - .map_size(1usize << 30) + .map_size(map_size) .open(&path) .unwrap(); Ok(lmdb_adapter::LmdbDb::init(db))