TODO/workaround: walredo quiescing broken with compaction_period=0

This commit is contained in:
Christian Schwarz
2024-01-27 12:47:57 +00:00
parent 03abbaaddf
commit e3fb145f0f
2 changed files with 5 additions and 1 deletions

View File

@@ -199,7 +199,7 @@ async fn compaction_loop(tenant: Arc<Tenant>, cancel: CancellationToken) {
// Perhaps we did no work and the walredo process has been idle for some time:
// give it a chance to shut down to avoid leaving walredo process running indefinitely.
tenant.walredo_mgr.maybe_quiesce(period * 10);
tenant.walredo_mgr.maybe_quiesce(period * 10); // TODO: broken with compaction_period 0
// Sleep
if tokio::time::timeout(sleep_duration, cancel.cancelled())

View File

@@ -76,6 +76,10 @@ def test_pageserver_max_throughput_getpage_at_latest_lsn(
for param, (value, kwargs) in params.items():
record(param, metric_value=value, report=MetricReport.TEST_PARAM, **kwargs)
env = setup_pageserver_with_pgbench_tenants(neon_env_builder, pg_bin, n_tenants, pgbench_scale)
ps_http =env.pageserver.http_client()
for tenant_info in ps_http.tenant_list():
tenant_id = tenant_info["id"]
ps_http.patch_tenant_config_client_side(tenant_id, {"compaction_period": "10s"})
run_benchmark_max_throughput_latest_lsn(env, pg_bin, record, duration)