Re: Corner-case bug in pg_rewind
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Pavel Borisov <pashkin.elfe@gmail.com>,
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Cc: Ian Lawrence Barwick <barwick@gmail.com>,
Ian Barwick <ian.barwick@2ndquadrant.com>,
Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2020-12-02T11:13:38Z
Lists: pgsql-hackers
Attachments
- v2-0001-pg_rewind-catch-corner-case-situation.patch (text/x-patch)
On 01/12/2020 16:52, Pavel Borisov wrote: > Status update for a commitfest entry. > > The patch is Waiting on Author for some time. As this is a bug fix, > I am > moving it to the next CF. > Ian, are you planning to continue working on it? > > As a reviewer, I consider the patch useful and good overall. The > comments I left were purely cosmetic. It's a pity to me that this bugfix > delayed for such a small reason and outdated, therefore. It would be > nice to complete this fix on the next CF. Yeah, we really should fix this.. On 16/11/2020 04:49, Ian Lawrence Barwick wrote: >> Also, I think Heikki's notion could be fulfilled. > > I spent a bit of time looking at that suggestion but couldn't actually > verify it was an issue which needed fixing. Attached are two patches. The first patch is your original patch, unmodified (except for a cosmetic rename of the test file). The second patch builds on that, demonstrating and fixing the issue I mentioned. It took me a while to create a repro for it, it's easily masked by incidental full-page writes or because rows created by XIDs that are not marked as committed on the other timeline are invisible, but succeeded at last. - Heikki
Commits
-
Fix more race conditions in the newly-added pg_rewind test.
- beb6b45ab747 9.5.25 landed
- 3ea8e660c0e0 9.6.21 landed
- d137b14c3cec 10.16 landed
- 10d9c9d03cfe 11.11 landed
- 98f8cdd48cc5 12.6 landed
- e6dc04d436f1 13.2 landed
- 6ba581cf1104 14.0 landed
-
Fix race conditions in newly-added test.
- 36a4ac20fcf3 14.0 landed
- 1dd608bbac28 9.5.25 landed
- a075c84f2ce1 9.6.21 landed
- 45d363145094 10.16 landed
- cda50f2112f2 11.11 landed
- ad3fb04b9cc2 12.6 landed
- e41a2efbca10 13.2 landed
-
Fix pg_rewind bugs when rewinding a standby server.
- 81e3c868f891 9.5.25 landed
- 0740857de780 9.6.21 landed
- 8b5c353ecec8 10.16 landed
- 63e316f0bc1d 11.11 landed
- 020f153dbb48 12.6 landed
- abd0abfb749d 13.2 landed
- 2b4f3130382f 14.0 landed
-
Allow pg_rewind to use a standby server as the source system.
- 9c4f5192f69e 14.0 cited
-
Support clean switchover.
- 985bd7d49726 9.4.0 cited