From 93e069ceaeaf10d2c47d937ef7a785b0c3d82c04 Mon Sep 17 00:00:00 2001 From: John Spray Date: Mon, 11 Dec 2023 15:29:37 +0000 Subject: [PATCH] refactors --- pageserver/src/tenant/storage_layer/layer.rs | 13 +++++-------- pageserver/src/tenant/timeline/layer_manager.rs | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/pageserver/src/tenant/storage_layer/layer.rs b/pageserver/src/tenant/storage_layer/layer.rs index 4e32ec2672..0d346698d4 100644 --- a/pageserver/src/tenant/storage_layer/layer.rs +++ b/pageserver/src/tenant/storage_layer/layer.rs @@ -480,14 +480,11 @@ impl Drop for LayerInner { // We will only do I/O on drop if our Timeline still exists. Otherwise, we may safely // leave garbage layers behind to be cleaned up the next time this Timeline is instantiated. - let timeline = match self.timeline.upgrade() { - Some(t) => t, - None => { - // no need to nag that timeline is gone: under normal situation on - // task_mgr::remove_tenant_from_memory the timeline is gone before we get dropped. - LAYER_IMPL_METRICS.inc_deletes_failed(DeleteFailed::TimelineGone); - return; - } + let Some(timeline) = self.timeline.upgrade() else { + // no need to nag that timeline is gone: under normal situation on + // task_mgr::remove_tenant_from_memory the timeline is gone before we get dropped. + LAYER_IMPL_METRICS.inc_deletes_failed(DeleteFailed::TimelineGone); + return; }; // We will only do I/O during drop if our Timeline's layer_gate is open: this avoids diff --git a/pageserver/src/tenant/timeline/layer_manager.rs b/pageserver/src/tenant/timeline/layer_manager.rs index 913fa36d28..680c040a2c 100644 --- a/pageserver/src/tenant/timeline/layer_manager.rs +++ b/pageserver/src/tenant/timeline/layer_manager.rs @@ -34,7 +34,7 @@ impl LayerManager { } pub(crate) fn clear(&mut self) { - std::mem::take(&mut self.layer_map); + self.layer_map = LayerMap::default(); self.layer_fmgr.clear(); }