From 7d7240f0dd9c1cc2915e3161184c551be2ad4018 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Thu, 25 May 2023 17:01:07 +0300 Subject: [PATCH] Adjust parameters in test_duplicate_layers.py test --- pageserver/src/tenant/layer_map.rs | 2 +- pageserver/src/tenant/timeline.rs | 4 ++++ test_runner/performance/test_duplicate_layers.py | 9 +++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/pageserver/src/tenant/layer_map.rs b/pageserver/src/tenant/layer_map.rs index 3587abbca3..4c8d91328a 100644 --- a/pageserver/src/tenant/layer_map.rs +++ b/pageserver/src/tenant/layer_map.rs @@ -278,7 +278,7 @@ where // TODO: See #3869, resulting #4088, attempted fix and repro #4094 let key = historic_layer_coverage::LayerKey::from(&*layer); if self.historic.contains(&key) { - warn!( + error!( "Attempt to insert duplicate layer {} in layer map", layer.short_id() ); diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index 3c951c1188..f4f2a9adca 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -3473,6 +3473,10 @@ impl Timeline { drop(all_keys_iter); // So that deltas_to_compact is no longer borrowed + fail_point!("compact-level0-phase1-finish", |_| { + Err(anyhow::anyhow!("failpoint compact-level0-phase1-finish").into()) + }); + Ok(CompactLevel0Phase1Result { new_layers, deltas_to_compact, diff --git a/test_runner/performance/test_duplicate_layers.py b/test_runner/performance/test_duplicate_layers.py index 77d79cfcc0..4253b34b01 100644 --- a/test_runner/performance/test_duplicate_layers.py +++ b/test_runner/performance/test_duplicate_layers.py @@ -16,7 +16,7 @@ def test_duplicate_layers(neon_env_builder: NeonEnvBuilder, pg_bin: PgBin): # These warnings are expected, when the pageserver is restarted abruptly env.pageserver.allowed_errors.append(".*found future image layer.*") env.pageserver.allowed_errors.append(".*found future delta layer.*") - env.pageserver.allowed_errors.append(".*duplicate layer.*") + #env.pageserver.allowed_errors.append(".*duplicate layer.*") pageserver_http = env.pageserver.http_client() @@ -25,8 +25,8 @@ def test_duplicate_layers(neon_env_builder: NeonEnvBuilder, pg_bin: PgBin): conf={ "checkpoint_distance": f"{1024 ** 2}", "compaction_target_size": f"{1024 ** 2}", - "compaction_period": "1 s", - "compaction_threshold": "3", + "compaction_period": "5 s", + "compaction_threshold": "5", } ) endpoint = env.endpoints.create_start("main", tenant_id=tenant_id) @@ -37,6 +37,7 @@ def test_duplicate_layers(neon_env_builder: NeonEnvBuilder, pg_bin: PgBin): with pytest.raises(Exception): pg_bin.run_capture(["pgbench", "-P1", "-N", "-c5", "-T500", "-Mprepared", connstr]) + time.sleep(6) # let compaction to be performed env.pageserver.stop() env.pageserver.start() - time.sleep(10) # let compaction to be performed + time.sleep(6) # let compaction to be performed