Re: Refactor pg_rewind code and make it work against a standby

From: Andres Freund <andres(at)anarazel(dot)de>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Soumyadeep Chakraborty <soumyadeep2007(at)gmail(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Refactor pg_rewind code and make it work against a standby
Date: 2020-11-20 00:38:11
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


On 2020-11-15 17:10:53 +0200, Heikki Linnakangas wrote:
> Yep, quite right. Fixed that way, thanks for the debugging!

I locally, on a heavily modified branch (AIO support), started to get
consistent failures in this test. I *suspect*, but am not sure, that
it's the test's fault, not the fault of modifications.

As far as I can tell, after the pg_rewind call, there's no guarantee
that node_c has fully caught up to the 'in A, after C was promoted'
insertion on node a. Thus at the check_query() I sometimes get just 'in
A, before promotion' back.

After adding a wait that problem seems to be fixed. Here's what I did

diff --git i/src/bin/pg_rewind/t/ w/src/bin/pg_rewind/t/
index f6abcc2d987..48898bef2f5 100644
--- i/src/bin/pg_rewind/t/
+++ w/src/bin/pg_rewind/t/
@@ -88,6 +88,7 @@ $node_c->safe_psql('postgres', "checkpoint");
# - you need to rewind.
"INSERT INTO tbl1 VALUES ('in A, after C was promoted')");
+$lsn = $node_a->lsn('insert');

# Also insert a new row in the standby, which won't be present in the
# old primary.
@@ -142,6 +143,8 @@ $node_primary = $node_c;
# Run some checks to verify that C has been successfully rewound,
# and connected back to follow B.

+$node_b->wait_for_catchup('node_c', 'replay', $lsn);
'SELECT * FROM tbl1',
qq(in A

- Andres

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2020-11-20 00:40:23 Re: [PATCH 1/1] Fix compilation on mac with Xcode >= 11.4.
Previous Message Michael Paquier 2020-11-20 00:33:25 Re: scram-sha-256 broken with FIPS and OpenSSL 1.0.2