diff --git a/core/storage/sqlite3_ondisk.rs b/core/storage/sqlite3_ondisk.rs index 381498d5b..fff5abd5c 100644 --- a/core/storage/sqlite3_ondisk.rs +++ b/core/storage/sqlite3_ondisk.rs @@ -876,6 +876,7 @@ pub fn begin_read_page( let buf = Arc::new(buf); let complete = Box::new(move |res: Result<(Arc, i32), CompletionError>| { let Ok((mut buf, bytes_read)) = res else { + page.clear_locked(); return; }; let buf_len = buf.len(); diff --git a/core/storage/wal.rs b/core/storage/wal.rs index b4ba856df..1e48132fc 100644 --- a/core/storage/wal.rs +++ b/core/storage/wal.rs @@ -915,6 +915,7 @@ impl Wal for WalFile { let frame = page.clone(); let complete = Box::new(move |res: Result<(Arc, i32), CompletionError>| { let Ok((buf, bytes_read)) = res else { + page.clear_locked(); return; }; let buf_len = buf.len();