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 {