mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-15 01:12:56 +00:00
Revert changes in key space partitioning
This commit is contained in:
@@ -2914,6 +2914,19 @@ impl Timeline {
|
||||
|
||||
let mut max_deltas = 0;
|
||||
let wanted_image_layers = self.wanted_image_layers.lock().unwrap();
|
||||
if let Some(wanted) = &*wanted_image_layers {
|
||||
let img_range =
|
||||
partition.ranges.first().unwrap().start..partition.ranges.last().unwrap().end;
|
||||
if let Some((_start, end)) = wanted.range(..img_range.end).next_back() {
|
||||
if *end > img_range.start {
|
||||
info!(
|
||||
"Force generation of layer {}-{} wanted by GC)",
|
||||
img_range.start, img_range.end
|
||||
);
|
||||
return Ok(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for part_range in &partition.ranges {
|
||||
let image_coverage = layers.image_coverage(part_range, lsn)?;
|
||||
@@ -2947,26 +2960,6 @@ impl Timeline {
|
||||
);
|
||||
return Ok(true);
|
||||
}
|
||||
if num_deltas > 0 {
|
||||
if let Some(wanted) = &*wanted_image_layers {
|
||||
if let Some((_start, end)) = wanted.range(..img_range.end).next_back() {
|
||||
if *end > img_range.start {
|
||||
info!(
|
||||
"Force generation of layer {}-{} wanted by GC ({} deltas)",
|
||||
img_range.start, img_range.end, num_deltas
|
||||
);
|
||||
return Ok(true);
|
||||
} else {
|
||||
info!(
|
||||
"Image {}-{} is not wanted",
|
||||
img_range.start, img_range.end
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
info!("No deltas for range {}-{}", img_range.start, img_range.end);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3871,23 +3864,17 @@ impl Timeline {
|
||||
end = *prev_end;
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
to_remove.push(*prev_start);
|
||||
if *prev_end > end {
|
||||
end = *prev_end;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
for key in to_remove {
|
||||
wanted_image_layers.remove(&key);
|
||||
}
|
||||
if insert_new_range {
|
||||
info!("Wanted image {}..{}", start, end);
|
||||
wanted_image_layers.insert(start, end);
|
||||
for key in to_remove {
|
||||
wanted_image_layers.remove(&key);
|
||||
}
|
||||
if insert_new_range {
|
||||
info!("Wanted image {}..{}", start, end);
|
||||
wanted_image_layers.insert(start, end);
|
||||
}
|
||||
}
|
||||
}
|
||||
result.layers_not_updated += 1;
|
||||
|
||||
Reference in New Issue
Block a user