diff --git a/compute_tools/src/bin/compute_ctl.rs b/compute_tools/src/bin/compute_ctl.rs index 284db005c8..8b40da60a2 100644 --- a/compute_tools/src/bin/compute_ctl.rs +++ b/compute_tools/src/bin/compute_ctl.rs @@ -330,6 +330,7 @@ fn wait_spec( build_tag, }; let compute = Arc::new(compute_node); + launch_lsn_lease_bg_task_for_static(&compute); // If this is a pooled VM, prewarm before starting HTTP server and becoming // available for binding. Prewarming helps Postgres start quicker later, @@ -372,8 +373,6 @@ fn wait_spec( state.start_time = now; } - launch_lsn_lease_bg_task_for_static(&compute); - Ok(WaitSpecResult { compute, http_port, diff --git a/test_runner/regress/test_readonly_node.py b/test_runner/regress/test_readonly_node.py index f257f0853b..27258bcec8 100644 --- a/test_runner/regress/test_readonly_node.py +++ b/test_runner/regress/test_readonly_node.py @@ -122,7 +122,8 @@ def test_readonly_node(neon_simple_env: NeonEnv): ) -def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder): +@pytest.mark.parametrize("iter", [i for i in range(20)]) +def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder, iter: int): """ Test static endpoint is protected from GC by acquiring and renewing lsn leases. """ @@ -267,7 +268,7 @@ def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder): time.sleep(LSN_LEASE_LENGTH / 2) ps.start() - trigger_gc_and_select( + offset = trigger_gc_and_select( env, ep_static, lease_lsn=lsn,