maybe the old test would work?

Signed-off-by: Alex Chi Z <chi@neon.tech>
This commit is contained in:
Alex Chi Z
2025-07-30 14:45:59 -04:00
parent 81d0f5d74f
commit 5622bf0bd2
2 changed files with 5 additions and 15 deletions

View File

@@ -62,7 +62,11 @@ async fn lsn_lease_bg_task(
"Request succeeded, sleeping for {} seconds",
sleep_duration.as_secs()
);
compute.wait_timeout_while_pageserver_connstr_unchanged(sleep_duration);
let compute = compute.clone();
tokio::task::spawn_blocking(move || {
compute.wait_timeout_while_pageserver_connstr_unchanged(sleep_duration);
})
.await?;
}
}

View File

@@ -233,15 +233,6 @@ def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder):
log.info(f"`SELECT` query succeed after GC, {ctx=}")
return offset
# It's not reliable to let the compute renew the lease in this test case as we have a very tight
# lease timeout. Therefore, the test case itself will renew the lease.
#
# This is a workaround to make the test case more deterministic.
def renew_lease(env: NeonEnv, lease_lsn: Lsn):
env.storage_controller.pageserver_api().timeline_lsn_lease(
env.initial_tenant, env.initial_timeline, lease_lsn
)
# Insert some records on main branch
with env.endpoints.create_start("main", config_lines=["shared_buffers=1MB"]) as ep_main:
with ep_main.cursor() as cur:
@@ -254,9 +245,6 @@ def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder):
XLOG_BLCKSZ = 8192
lsn = Lsn((int(lsn) // XLOG_BLCKSZ) * XLOG_BLCKSZ)
# We need to mock the way cplane works: it gets a lease for a branch before starting the compute.
renew_lease(env, lsn)
with env.endpoints.create_start(
branch_name="main",
endpoint_id="static",
@@ -277,8 +265,6 @@ def test_readonly_node_gc(neon_env_builder: NeonEnvBuilder):
ps.stop()
ps.start()
renew_lease(env, lsn)
trigger_gc_and_select(
env,
ep_static,