From cb70e63f3460c96309762e2dec2159c6165176d5 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Thu, 20 Jan 2022 12:11:38 +0300 Subject: [PATCH] Update test_snapfiles_gc test --- pageserver/src/layered_repository.rs | 5 ++++- test_runner/batch_others/test_snapfiles_gc.py | 16 +++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/pageserver/src/layered_repository.rs b/pageserver/src/layered_repository.rs index 9e05af4d5e..d0f07f61ee 100644 --- a/pageserver/src/layered_repository.rs +++ b/pageserver/src/layered_repository.rs @@ -1613,7 +1613,10 @@ impl LayeredTimeline { if let Some(oldest_layer) = global_layer_map.get(&layer_id) { let last_lsn = self.get_last_record_lsn(); // Avoid creation of image layers if there are not so much deltas - if reconstruct_pages && oldest_layer.get_seg_tag().rel.is_blocky() { + if reconstruct_pages + && oldest_layer.get_seg_tag().rel.is_blocky() + && self.conf.image_layer_generation_threshold != 0 + { let (n_delta_layers, total_delta_size) = layers.count_delta_layers(oldest_layer.get_seg_tag(), last_lsn)?; let logical_segment_size = diff --git a/test_runner/batch_others/test_snapfiles_gc.py b/test_runner/batch_others/test_snapfiles_gc.py index 1f0adc1a15..61c1ee79b0 100644 --- a/test_runner/batch_others/test_snapfiles_gc.py +++ b/test_runner/batch_others/test_snapfiles_gc.py @@ -66,8 +66,8 @@ def test_layerfiles_gc(zenith_simple_env: ZenithEnv): pscur.execute(f"do_gc {env.initial_tenant} {timeline} 0") row = pscur.fetchone() print_gc_result(row) - assert row['layer_relfiles_total'] == layer_relfiles_remain + 2 - assert row['layer_relfiles_removed'] == 2 + assert row['layer_relfiles_total'] == layer_relfiles_remain + 1 + assert row['layer_relfiles_removed'] == 0 assert row['layer_relfiles_dropped'] == 0 # Insert two more rows and run GC. @@ -81,7 +81,7 @@ def test_layerfiles_gc(zenith_simple_env: ZenithEnv): row = pscur.fetchone() print_gc_result(row) assert row['layer_relfiles_total'] == layer_relfiles_remain + 2 - assert row['layer_relfiles_removed'] == 2 + assert row['layer_relfiles_removed'] == 0 assert row['layer_relfiles_dropped'] == 0 # Do it again. Should again create two new layer files and remove old ones. @@ -92,8 +92,8 @@ def test_layerfiles_gc(zenith_simple_env: ZenithEnv): pscur.execute(f"do_gc {env.initial_tenant} {timeline} 0") row = pscur.fetchone() print_gc_result(row) - assert row['layer_relfiles_total'] == layer_relfiles_remain + 2 - assert row['layer_relfiles_removed'] == 2 + assert row['layer_relfiles_total'] == layer_relfiles_remain + 3 + assert row['layer_relfiles_removed'] == 0 assert row['layer_relfiles_dropped'] == 0 # Run GC again, with no changes in the database. Should not remove anything. @@ -101,7 +101,7 @@ def test_layerfiles_gc(zenith_simple_env: ZenithEnv): pscur.execute(f"do_gc {env.initial_tenant} {timeline} 0") row = pscur.fetchone() print_gc_result(row) - assert row['layer_relfiles_total'] == layer_relfiles_remain + assert row['layer_relfiles_total'] == layer_relfiles_remain + 3 assert row['layer_relfiles_removed'] == 0 assert row['layer_relfiles_dropped'] == 0 @@ -121,9 +121,7 @@ def test_layerfiles_gc(zenith_simple_env: ZenithEnv): # Each relation fork is counted separately, hence 3. assert row['layer_relfiles_needed_as_tombstone'] == 3 - # The catalog updates also create new layer files of the catalogs, which - # are counted as 'removed' - assert row['layer_relfiles_removed'] > 0 + assert row['layer_relfiles_removed'] == 0 # TODO Change the test to check actual CG of dropped layers. # Each relation fork is counted separately, hence 3.