Fix test_timeline_copy flakiness.

fixes https://github.com/neondatabase/neon/issues/8355
This commit is contained in:
Arseny Sher
2024-07-11 16:35:31 +03:00
committed by Christian Schwarz
parent 1637a6ee05
commit 537ecf45f8
2 changed files with 13 additions and 2 deletions

View File

@@ -74,10 +74,16 @@ pub async fn handle_request(request: Request) -> Result<()> {
assert!(flush_lsn >= start_lsn);
if request.until_lsn > flush_lsn {
bail!("requested LSN is beyond the end of the timeline");
bail!(format!(
"requested LSN {} is beyond the end of the timeline {}",
request.until_lsn, flush_lsn
));
}
if request.until_lsn < start_lsn {
bail!("requested LSN is before the start of the timeline");
bail!(format!(
"requested LSN {} is before the start of the timeline {}",
request.until_lsn, start_lsn
));
}
if request.until_lsn > commit_lsn {

View File

@@ -2065,6 +2065,11 @@ def test_timeline_copy(neon_env_builder: NeonEnvBuilder, insert_rows: int):
log.info(f"Original digest: {orig_digest}")
for sk in env.safekeepers:
wait(
partial(is_flush_lsn_caught_up, sk, tenant_id, timeline_id, lsn),
f"sk_id={sk.id} to flush {lsn}",
)
sk.http_client().copy_timeline(
tenant_id,
timeline_id,