From f5a171076b4774e4638d0ec460920649b3b3707a Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Tue, 29 Aug 2023 15:20:25 +0300 Subject: [PATCH] doc: comment about chance of both evictions selecting same layer --- pageserver/src/tenant/timeline/eviction_task.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pageserver/src/tenant/timeline/eviction_task.rs b/pageserver/src/tenant/timeline/eviction_task.rs index 9a3dce12ee..6a20431571 100644 --- a/pageserver/src/tenant/timeline/eviction_task.rs +++ b/pageserver/src/tenant/timeline/eviction_task.rs @@ -200,6 +200,9 @@ impl Timeline { for hist_layer in layers.iter_historic_layers() { let hist_layer = guard.get_from_desc(&hist_layer); + // guard against eviction while we inspect it; it might be that eviction_task and + // disk_usage_eviction_task both select the same layers to be evicted, and + // seemingly free up double the space. both succeeding is of no consequence. let guard = match hist_layer.keep_resident().await { Ok(Some(l)) => l, Ok(None) => continue,