Re: Two pg_rewind patches (auto generate recovery conf and ensure clean shutdown)
Alexey Kondratov <a.kondratov@postgrespro.ru>
From: Alexey Kondratov <a.kondratov@postgrespro.ru>
To: Alvaro Herrera <alvherre@2ndquadrant.com>, Paul Guo <pguo@pivotal.io>
Cc: Michael Paquier <michael@paquier.xyz>,
Thomas Munro <thomas.munro@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>, Jimmy Yih <jyih@pivotal.io>,
Ashwin Agrawal <aagrawal@pivotal.io>
Date: 2019-10-02T17:28:09Z
Lists: pgsql-hackers
Attachments
Hi Alvaro, On 30.09.2019 20:13, Alvaro Herrera wrote: > OK, I pushed this patch as well as Alexey's test patch. It all works > for me, and the coverage report shows that we're doing the new thing ... > though only in the case that rewind *is* required. There is no test to > verify the case where rewind is *not* required. I guess it'd also be > good to test the case when we throw the new error, if only for > completeness ... I've directly followed your guess and tried to elaborate pg_rewind test cases and... It seems I've caught a few bugs: 1) --dry-run actually wasn't completely 'dry'. It did update target controlfile, which could cause repetitive pg_rewind calls to fail after dry-run ones. 2) --no-ensure-shutdown flag was broken, it simply didn't turn off this new feature. 3) --write-recovery-conf didn't obey the --dry-run flag. Thus, it was definitely a good idea to add new tests. Two patches are attached: 1) First one fixes all the issues above; 2) Second one slightly increases pg_rewind overall code coverage from 74% to 78.6%. Should I put this fix on the next commitfest? Regards -- Alexey Kondratov Postgres Professional https://www.postgrespro.com Russian Postgres Company P.S. My apologies that I've missed two of these bugs during review.
Commits
-
Improve test coverage of pg_rewind
- 55ba56415bae 13.0 landed
-
Improve handling and coverage of --no-ensure-shutdown in pg_rewind
- caa078353ecd 13.0 landed
-
Fix issues in pg_rewind with --no-ensure-shutdown/--write-recovery-conf
- 6837632b758e 13.0 landed
-
Fix --dry-run mode of pg_rewind
- c2e3b311d9ef 12.1 landed
- 6f3823b03560 13.0 landed
-
pg_rewind: test new --write-recovery-conf functionality
- 7524c788743f 13.0 landed
-
pg_rewind: Allow writing recovery configuration
- 927474ce1a24 13.0 landed
-
Have pg_rewind run crash recovery before rewinding
- 5adafaf176d0 13.0 landed
-
Split out recovery confing-writing code from pg_basebackup
- caba97a9d9f4 13.0 landed
-
Switch TAP tests of pg_rewind to use non-superuser role, take two
- d9f543e9e9be 12.0 cited