From 66c4b44c555c97dad6edbb875c2ae7ff43da5adf Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Wed, 30 Jul 2025 17:21:19 +0300 Subject: [PATCH] pager: call rollback() after ending txn so that read lock info is not lost when ending txn --- core/storage/pager.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/storage/pager.rs b/core/storage/pager.rs index a5801e594..2b386922e 100644 --- a/core/storage/pager.rs +++ b/core/storage/pager.rs @@ -818,11 +818,11 @@ impl Pager { ) -> Result> { tracing::trace!("end_tx(rollback={})", rollback); if rollback { - self.rollback(schema_did_change, connection)?; if matches!(connection.transaction_state.get(), TransactionState::Write { .. }) { self.wal.borrow().end_write_tx(); } self.wal.borrow().end_read_tx(); + self.rollback(schema_did_change, connection)?; return Ok(IOResult::Done(PagerCommitResult::Rollback)); } let commit_status = self.commit_dirty_pages(wal_checkpoint_disabled)?;