From bc09ea6e98d5d1735a1fa892d2db99c8a23e4feb Mon Sep 17 00:00:00 2001 From: Nikita Sivukhin Date: Tue, 22 Jul 2025 16:33:22 +0400 Subject: [PATCH] make end_write_txn/end_read_txn function non-failing --- core/storage/pager.rs | 10 +++++----- core/storage/wal.rs | 18 ++++++------------ 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/core/storage/pager.rs b/core/storage/pager.rs index 95f7efb98..9895dcb29 100644 --- a/core/storage/pager.rs +++ b/core/storage/pager.rs @@ -772,16 +772,16 @@ impl Pager { ) -> Result> { tracing::trace!("end_tx(rollback={})", rollback); if rollback { - self.wal.borrow().end_write_tx()?; - self.wal.borrow().end_read_tx()?; + self.wal.borrow().end_write_tx(); + self.wal.borrow().end_read_tx(); return Ok(IOResult::Done(PagerCommitResult::Rollback)); } let commit_status = self.commit_dirty_pages(wal_checkpoint_disabled)?; match commit_status { IOResult::IO => Ok(IOResult::IO), IOResult::Done(_) => { - self.wal.borrow().end_write_tx()?; - self.wal.borrow().end_read_tx()?; + self.wal.borrow().end_write_tx(); + self.wal.borrow().end_read_tx(); if schema_did_change { let schema = connection.schema.borrow().clone(); @@ -798,7 +798,7 @@ impl Pager { #[instrument(skip_all, level = Level::DEBUG)] pub fn end_read_tx(&self) -> Result<()> { - self.wal.borrow().end_read_tx()?; + self.wal.borrow().end_read_tx(); Ok(()) } diff --git a/core/storage/wal.rs b/core/storage/wal.rs index 86106e521..07ab04b2a 100644 --- a/core/storage/wal.rs +++ b/core/storage/wal.rs @@ -203,10 +203,10 @@ pub trait Wal { fn begin_write_tx(&mut self) -> Result; /// End a read transaction. - fn end_read_tx(&self) -> Result; + fn end_read_tx(&self); /// End a write transaction. - fn end_write_tx(&self) -> Result; + fn end_write_tx(&self); /// Find the latest frame containing a page. fn find_frame(&self, page_id: u64) -> Result>; @@ -258,17 +258,13 @@ impl Wal for DummyWAL { Ok(LimboResult::Ok) } - fn end_read_tx(&self) -> Result { - Ok(LimboResult::Ok) - } + fn end_read_tx(&self) {} fn begin_write_tx(&mut self) -> Result { Ok(LimboResult::Ok) } - fn end_write_tx(&self) -> Result { - Ok(LimboResult::Ok) - } + fn end_write_tx(&self) {} fn find_frame(&self, _page_id: u64) -> Result> { Ok(None) @@ -542,11 +538,10 @@ impl Wal for WalFile { /// End a read transaction. #[inline(always)] #[instrument(skip_all, level = Level::DEBUG)] - fn end_read_tx(&self) -> Result { + fn end_read_tx(&self) { tracing::debug!("end_read_tx(lock={})", self.max_frame_read_lock_index); let read_lock = &mut self.get_shared().read_locks[self.max_frame_read_lock_index]; read_lock.unlock(); - Ok(LimboResult::Ok) } /// Begin a write transaction @@ -571,10 +566,9 @@ impl Wal for WalFile { /// End a write transaction #[instrument(skip_all, level = Level::DEBUG)] - fn end_write_tx(&self) -> Result { + fn end_write_tx(&self) { tracing::debug!("end_write_txn"); self.get_shared().write_lock.unlock(); - Ok(LimboResult::Ok) } /// Find the latest frame containing a page.