diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 640a18c13c..cd40a9f770 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -4301,9 +4301,11 @@ mod tests { let _ = timeline.make_lsn_lease(Lsn(0x30), &ctx)?; - let gc_info = timeline.gc_info.read().unwrap(); - assert!(gc_info.leases.contains_key(&Lsn(0x30))); - info!("GcCutOff: {:?}", gc_info.cutoffs); + { + let gc_info = timeline.gc_info.read().unwrap(); + assert!(gc_info.leases.contains_key(&Lsn(0x30))); + info!("GcCutOff: {:?}", gc_info.cutoffs); + } let res = tenant .gc_iteration( Some(TIMELINE_ID), diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 662ceceaa5..54ec7d47ba 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -4917,7 +4917,7 @@ impl Timeline { // Gets the minimum LSN that holds the valid lease. // Caveat: This value could be stale since we rely on refresh_gc_info to invalidate leases, // so there could be leases invalidated between the refresh and here. - let min_lsn_with_valid_lease = gc_info.leases.last_key_value().map(|(lsn, _)| *lsn); + let min_lsn_with_valid_lease = gc_info.leases.first_key_value().map(|(lsn, _)| *lsn); ( horizon_cutoff, pitr_cutoff,