From 2b35f11facaa8baa16ad6aed4696cfa5f22776f0 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Mon, 16 Sep 2024 13:01:00 +0100 Subject: [PATCH] More info --- pageserver/src/tenant/storage_layer.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/pageserver/src/tenant/storage_layer.rs b/pageserver/src/tenant/storage_layer.rs index ef57cb3b95..24e03ed330 100644 --- a/pageserver/src/tenant/storage_layer.rs +++ b/pageserver/src/tenant/storage_layer.rs @@ -389,7 +389,7 @@ pub(crate) struct LayerFringe { struct LayerKeyspace { layer: ReadableLayer, target_keyspace: KeySpaceRandomAccum, - lsn_range: Range + lsn_range: Range, } impl LayerFringe { @@ -438,6 +438,24 @@ impl LayerFringe { // On this branch, we don't add to planned_reads_by_lsn // even though we might be interested in a different lsn_range. entry.get_mut().target_keyspace.add_keyspace(keyspace); + + if lsn_range != entry.get().lsn_range { + tracing::error!( + "LSN range assumption violated for layer: {:?}, lsn_range: {:?}", + layer_id, + lsn_range + ); + + let fringe = self.planned_reads_by_lsn.clone().into_sorted_vec(); + for read in fringe { + tracing::error!( + "layer: {:?}, lsn_range: {:?}", + read.layer_id, + read.lsn_range + ); + } + panic!("LSN range assumption violated"); + } assert_eq!(lsn_range, entry.get().lsn_range); } Entry::Vacant(entry) => {