diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index ea6b0d6248c1..8c5f67ede088 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -291,7 +291,7 @@ pub struct Tenant { timelines_creating: std::sync::Mutex>, /// Possibly offloaded and archived timelines - timelines_offloaded: Mutex>, + timelines_offloaded: Mutex>>, // This mutex prevents creation of new timelines during GC. // Adding yet another mutex (in addition to `timelines`) is needed because holding diff --git a/pageserver/src/tenant/timeline/offload.rs b/pageserver/src/tenant/timeline/offload.rs index 201866affe3d..8aed7971bb17 100644 --- a/pageserver/src/tenant/timeline/offload.rs +++ b/pageserver/src/tenant/timeline/offload.rs @@ -28,7 +28,7 @@ pub(crate) async fn offload_timeline( let mut offloaded_timelines = tenant.timelines_offloaded.lock().unwrap(); offloaded_timelines.insert( timeline.timeline_id, - OffloadedTimeline::from_timeline(&timeline), + Arc::new(OffloadedTimeline::from_timeline(&timeline)), ); }