mirror of
https://github.com/neondatabase/neon.git
synced 2026-06-01 12:30:38 +00:00
tests: compare digests in test_peer_recovery (#10853)
## Problem Test fails when comparing the first WAL segment because the system id in the segment header is different. The system id is not consistently set correctly since segments are usually inited on the safekeeper sync step with sysid 0. ## Summary of Chnages Compare timeline digests instead. This skips the header. Closes https://github.com/neondatabase/neon/issues/10596
This commit is contained in:
@@ -1445,6 +1445,7 @@ def test_peer_recovery(neon_env_builder: NeonEnvBuilder):
|
||||
|
||||
# roughly fills one segment
|
||||
endpoint.safe_psql("insert into t select generate_series(1,250000), 'payload'")
|
||||
lsn = Lsn(endpoint.safe_psql("SELECT pg_current_wal_flush_lsn()")[0][0])
|
||||
|
||||
endpoint.stop() # stop compute
|
||||
|
||||
@@ -1473,7 +1474,15 @@ def test_peer_recovery(neon_env_builder: NeonEnvBuilder):
|
||||
"flush_lsn to get aligned",
|
||||
)
|
||||
|
||||
cmp_sk_wal([sk1, sk2], tenant_id, timeline_id)
|
||||
sk1_digest = sk1.http_client().timeline_digest(
|
||||
tenant_id, timeline_id, sk1.get_timeline_start_lsn(tenant_id, timeline_id), lsn
|
||||
)
|
||||
|
||||
sk2_digest = sk1.http_client().timeline_digest(
|
||||
tenant_id, timeline_id, sk2.get_timeline_start_lsn(tenant_id, timeline_id), lsn
|
||||
)
|
||||
|
||||
assert sk1_digest == sk2_digest
|
||||
|
||||
# stop one of safekeepers which weren't recovering and insert a bit more to check we can commit
|
||||
env.safekeepers[2].stop()
|
||||
|
||||
Reference in New Issue
Block a user