From a5c8f94165af52d133ca085ad8e116a7d7efdcdd Mon Sep 17 00:00:00 2001 From: Yuchen Liang Date: Tue, 11 Jun 2024 15:37:05 -0400 Subject: [PATCH] release mutex guard early in test Signed-off-by: Yuchen Liang --- pageserver/src/tenant.rs | 8 +++++--- pageserver/src/tenant/timeline.rs | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) 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,