changeset 606:115fa0deaef7

Do compactions after writing memtables (#34)
author Lewin Bormann <lbo@spheniscida.de>
date Fri, 14 Jul 2023 21:43:21 +0200
parents 08549e2435ff
children 6395514d9a34
files src/db_impl.rs
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/db_impl.rs	Tue Jun 20 17:52:43 2023 +0200
+++ b/src/db_impl.rs	Fri Jul 14 21:43:21 2023 +0200
@@ -719,6 +719,9 @@
         }
         ve.set_log_num(self.log_num.unwrap_or(0));
         self.vset.borrow_mut().log_and_apply(ve)?;
+        if let Err(e) = self.maybe_do_compaction() {
+            log!(self.opt.log, "Wanted to do compaction, but failed: {}", e);
+        }
         if let Err(e) = self.delete_obsolete_files() {
             log!(self.opt.log, "Error deleting obsolete files: {}", e);
         }
@@ -949,6 +952,7 @@
 
 impl Drop for DB {
     fn drop(&mut self) {
+        self.flush().ok();
         let _ = self.release_lock();
     }
 }