From 56580cf72a36f833c87983e3e0065fbbcce529f2 Mon Sep 17 00:00:00 2001 From: Vlad Lazar Date: Wed, 3 Jul 2024 13:50:43 +0100 Subject: [PATCH] Add compaction logging for debugging --- pageserver/src/tenant/timeline.rs | 9 +++++++-- pageserver/src/tenant/timeline/compaction.rs | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index de9361d721..b16058116a 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -688,7 +688,7 @@ pub enum GetLogicalSizePriority { Background, } -#[derive(enumset::EnumSetType)] +#[derive(enumset::EnumSetType, Debug)] pub(crate) enum CompactFlags { ForceRepartition, ForceImageLayerCreation, @@ -4480,7 +4480,10 @@ impl Timeline { self.last_image_layer_creation_check_at.store(lsn); } + tracing::info!("Compacting image layers at lsn {lsn} with creation mode {mode:?} check_for_image_layers={check_for_image_layers}"); + for partition in partitioning.parts.iter() { + tracing::info!("Looking at partition {partition}"); let img_range = start..partition.ranges.last().unwrap().end; let compact_metadata = partition.overlaps(&Key::metadata_key_range()); if compact_metadata { @@ -4503,7 +4506,9 @@ impl Timeline { } else if let ImageLayerCreationMode::Try = mode { // check_for_image_layers = false -> skip // check_for_image_layers = true -> check time_for_new_image_layer -> skip/generate - if !check_for_image_layers || !self.time_for_new_image_layer(partition, lsn).await { + let time_for_new_image_layer = self.time_for_new_image_layer(partition, lsn).await; + if !check_for_image_layers || time_for_new_image_layer { + tracing::info!("Skipping image layer creation check_for_image_layers={check_for_image_layers} time_for_new_image_layer={time_for_new_image_layer}"); start = img_range.end; continue; } diff --git a/pageserver/src/tenant/timeline/compaction.rs b/pageserver/src/tenant/timeline/compaction.rs index efaa6144af..9de8c44cb3 100644 --- a/pageserver/src/tenant/timeline/compaction.rs +++ b/pageserver/src/tenant/timeline/compaction.rs @@ -51,6 +51,8 @@ impl Timeline { flags: EnumSet, ctx: &RequestContext, ) -> Result<(), CompactionError> { + tracing::info!("Compacting with flags {flags:?}"); + if flags.contains(CompactFlags::EnhancedGcBottomMostCompaction) { return self.compact_with_gc(cancel, ctx).await; }