page_cache: add an assert on the last_valid_lsn

This commit is contained in:
Eric Seppanen
2021-04-21 12:45:22 -07:00
parent 2cd730d31f
commit 9b71ae7dce

View File

@@ -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",