Mercurial > lbo > hg > leveldb-rs
changeset 615:f48ec74f26b0
Update stresstest example to help with debugging large DB size
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 15 Jul 2023 22:13:02 +0200 |
parents | e41530366262 |
children | d9b9fd4add66 |
files | examples/stresstest/src/main.rs src/db_impl.rs |
diffstat | 2 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/stresstest/src/main.rs Sat Jul 15 22:09:44 2023 +0200 +++ b/examples/stresstest/src/main.rs Sat Jul 15 22:13:02 2023 +0200 @@ -1,7 +1,7 @@ use rand::distributions::{Alphanumeric, DistString}; -use rusty_leveldb::{compressor, CompressorId, Options, DB}; +use rusty_leveldb::{Options, DB}; -const KEY_LEN: usize = 4; +const KEY_LEN: usize = 5; const VAL_LEN: usize = 8; fn gen_string(n: usize) -> String { @@ -16,6 +16,10 @@ let (k, v) = (gen_string(KEY_LEN), gen_string(VAL_LEN)); db.put(k.as_bytes(), v.as_bytes()).unwrap(); + if i % (n/100) == 0 { + println!("{}/100 ...", i * 100 / n); + db.flush().unwrap(); + } } {
--- a/src/db_impl.rs Sat Jul 15 22:09:44 2023 +0200 +++ b/src/db_impl.rs Sat Jul 15 22:13:02 2023 +0200 @@ -596,6 +596,8 @@ if self.imm.is_some() { self.compact_memtable()?; } + // Issue #34 PR #36: after compacting a memtable into an L0 file, it is possible that the + // L0 files need to be merged and promoted. if self.vset.borrow().needs_compaction() { let c = self.vset.borrow_mut().pick_compaction(); if let Some(c) = c {