mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-24 00:20:37 +00:00
Catch recovery conflict oin all queries
This commit is contained in:
@@ -35,28 +35,25 @@ def test_replication_lag(neon_simple_env: NeonEnv, pg_bin: PgBin):
|
||||
|
||||
with env.endpoints.new_replica_start(origin=primary, endpoint_id="secondary") as secondary:
|
||||
wait_replica_caughtup(primary, secondary)
|
||||
time.sleep(
|
||||
1
|
||||
) # Without this sleep replica sometime failed to find relation: could not open relation with OID 16404
|
||||
for _ in range(1, n_iterations):
|
||||
primary_lsn = primary.safe_psql_scalar(
|
||||
"SELECT pg_current_wal_flush_lsn()::text", log_query=False
|
||||
)
|
||||
secondary_lsn = secondary.safe_psql_scalar(
|
||||
"SELECT pg_last_wal_replay_lsn()", log_query=False
|
||||
)
|
||||
try:
|
||||
primary_lsn = primary.safe_psql_scalar(
|
||||
"SELECT pg_current_wal_flush_lsn()::text", log_query=False
|
||||
)
|
||||
secondary_lsn = secondary.safe_psql_scalar(
|
||||
"SELECT pg_last_wal_replay_lsn()", log_query=False
|
||||
)
|
||||
balance = secondary.safe_psql_scalar(
|
||||
"select sum(abalance) from pgbench_accounts"
|
||||
)
|
||||
log.info(
|
||||
f"primary_lsn={primary_lsn}, secondary_lsn={secondary_lsn}, balance={balance}"
|
||||
)
|
||||
except Exception as error:
|
||||
print(f"Query failed: {error}")
|
||||
if not str(error).startswith(
|
||||
"canceling statement due to conflict with recovery"
|
||||
):
|
||||
raise
|
||||
log.info(
|
||||
f"primary_lsn={primary_lsn}, secondary_lsn={secondary_lsn}, balance={balance}"
|
||||
)
|
||||
|
||||
t.join()
|
||||
|
||||
Reference in New Issue
Block a user