From 8b2160793a76b4faae64ace6779f898a57097e10 Mon Sep 17 00:00:00 2001 From: John Spray Date: Tue, 5 Sep 2023 15:02:52 +0100 Subject: [PATCH] tests: update existing deletion tests --- test_runner/regress/test_tenant_delete.py | 15 +++++++++++++++ test_runner/regress/test_timeline_delete.py | 2 ++ 2 files changed, 17 insertions(+) diff --git a/test_runner/regress/test_tenant_delete.py b/test_runner/regress/test_tenant_delete.py index e60b996a16..b58985ca67 100644 --- a/test_runner/regress/test_tenant_delete.py +++ b/test_runner/regress/test_tenant_delete.py @@ -43,6 +43,12 @@ def test_tenant_delete_smoke( neon_env_builder.enable_pageserver_remote_storage(remote_storage_kind) env = neon_env_builder.init_start() + env.pageserver.allowed_errors.extend( + [ + # The deletion queue will complain when it encounters simulated S3 errors + ".*deletion executor: DeleteObjects request failed.*", + ] + ) # lucky race with stopping from flushing a layer we fail to schedule any uploads env.pageserver.allowed_errors.append( @@ -195,6 +201,14 @@ def test_delete_tenant_exercise_crash_safety_failpoints( ] ) + if simulate_failures: + env.pageserver.allowed_errors.extend( + [ + # The deletion queue will complain when it encounters simulated S3 errors + ".*deletion executor: DeleteObjects request failed.*", + ] + ) + ps_http = env.pageserver.http_client() timeline_id = env.neon_cli.create_timeline("delete", tenant_id=tenant_id) @@ -383,6 +397,7 @@ def test_tenant_delete_is_resumed_on_attach( assert not tenant_path.exists() if remote_storage_kind in available_s3_storages(): + ps_http.deletion_queue_flush(execute=True) assert_prefix_empty( neon_env_builder, prefix="/".join( diff --git a/test_runner/regress/test_timeline_delete.py b/test_runner/regress/test_timeline_delete.py index 0b79383442..1e593f2834 100644 --- a/test_runner/regress/test_timeline_delete.py +++ b/test_runner/regress/test_timeline_delete.py @@ -826,6 +826,8 @@ def test_delete_orphaned_objects( reason = timeline_info["state"]["Broken"]["reason"] assert reason.endswith(f"failpoint: {failpoint}"), reason + ps_http.deletion_queue_flush(execute=True) + for orphan in orphans: assert not orphan.exists() assert env.pageserver.log_contains(