mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-26 17:40:37 +00:00
page_cache: add an assert on the last_valid_lsn
This commit is contained in:
@@ -286,7 +286,8 @@ impl PageCache {
|
||||
let minkey = CacheKey { tag, lsn: 0 };
|
||||
let maxkey = CacheKey { tag, lsn };
|
||||
|
||||
if self.walreceiver_works.load(Ordering::Acquire) {
|
||||
let walreceiver_works = self.walreceiver_works.load(Ordering::Acquire);
|
||||
if walreceiver_works {
|
||||
self.seqwait_lsn
|
||||
.wait_for_timeout(lsn, TIMEOUT)
|
||||
.await
|
||||
@@ -313,6 +314,10 @@ impl PageCache {
|
||||
{
|
||||
let shared = self.shared.lock().unwrap();
|
||||
|
||||
if walreceiver_works {
|
||||
assert!(lsn <= shared.last_valid_lsn);
|
||||
}
|
||||
|
||||
if lsn < shared.first_valid_lsn {
|
||||
bail!(
|
||||
"LSN {:X}/{:X} has already been removed",
|
||||
|
||||
Reference in New Issue
Block a user