From d9e7b7f0e18547ed4f44b60141d3a1241f9dc342 Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Tue, 16 Sep 2025 15:18:24 +0300 Subject: [PATCH] mvcc: starting a pager read tx can fail with busy --- core/mvcc/database/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/mvcc/database/mod.rs b/core/mvcc/database/mod.rs index 7b35c21f3..62a7a3b11 100644 --- a/core/mvcc/database/mod.rs +++ b/core/mvcc/database/mod.rs @@ -1399,7 +1399,10 @@ impl MvStore { // TODO: we need to tie a pager's read transaction to a transaction ID, so that future refactors to read // pages from WAL/DB read from a consistent state to maintiain snapshot isolation. - pager.begin_read_tx()?; + let result = pager.begin_read_tx()?; + if let crate::result::LimboResult::Busy = result { + return Err(LimboError::Busy); + } Ok(tx_id) }