diff --git a/pageserver/src/tenant/storage_layer/layer.rs b/pageserver/src/tenant/storage_layer/layer.rs index 83450d24bb..45a36e0e91 100644 --- a/pageserver/src/tenant/storage_layer/layer.rs +++ b/pageserver/src/tenant/storage_layer/layer.rs @@ -312,7 +312,9 @@ impl Layer { .get_or_maybe_download(true, Some(ctx)) .await .map_err(|err| match err { - DownloadError::DownloadCancelled => GetVectoredError::Cancelled, + DownloadError::TimelineShutdown | DownloadError::DownloadCancelled => { + GetVectoredError::Cancelled + } other => GetVectoredError::Other(anyhow::anyhow!(other)), })?; diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 0343eda8b9..f6e82e3e57 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -742,11 +742,7 @@ pub(crate) enum WaitLsnError { impl From for CompactionError { fn from(e: CreateImageLayersError) -> Self { match e { - CreateImageLayersError::Cancelled - | CreateImageLayersError::GetVectoredError(GetVectoredError::Cancelled) - | CreateImageLayersError::PageReconstructError(PageReconstructError::Cancelled) => { - CompactionError::ShuttingDown - } + CreateImageLayersError::Cancelled => CompactionError::ShuttingDown, CreateImageLayersError::Other(e) => { CompactionError::Other(e.context("create image layers")) }