Re: [BUG] non archived WAL removed during production crash recovery
Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
From: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: michael@paquier.xyz, masao.fujii@oss.nttdata.com,
pgsql-bugs@lists.postgresql.org
Date: 2020-04-23T16:59:53Z
Lists: pgsql-bugs, pgsql-hackers
Attachments
- 0001-v11-Fix-WAL-retention-during-production-crash-recovery-10.patch (text/x-patch) patch v11-0001
- 0001-v11-Fix-WAL-retention-during-production-crash-recovery-95.patch (text/x-patch) patch v11-0001
- 0001-v11-Fix-WAL-retention-during-production-crash-recovery-96.patch (text/x-patch) patch v11-0001
On Thu, 23 Apr 2020 14:05:46 +0900 (JST)
Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote:
> FWIW, the test for 10- looks fine, but I have one qustion.
>
> + 'archive success reported in pg_stat_archiver for WAL segment
> $segment_name_
>
> This seems intending to show an actual segment name in the message,
> but it is really shown as "... WAL segment $segment_name_1". Is that
> intended?
Good catch. Fixed in v11. Thank you.
> At Thu, 23 Apr 2020 08:46:18 +0900, Michael Paquier <michael@paquier.xyz>
> wrote in
> > On Wed, Apr 22, 2020 at 06:17:17PM +0200, Jehan-Guillaume de Rorthais
> > wrote:
> > > I found an extra useless line of code in v9 patch. Please, find in
> > > attachment v10. Sorry for this.
> >
> > Thanks for helping here, your changes make sense. This looks mostly
> > fine to me except that part:
> > +$standby1->poll_query_until('postgres',
> > + qq{ SELECT pg_xlog_location_diff('$primary_lsn',
> > pg_last_xlog_replay_location()) = 0 })
> > + or die "Timed out while waiting for xlog replay";
> > Here we should check if $primary_lsn is at least
> > pg_last_xlog_replay_location(). Checking for an equality may stuck
> > the test if more WAL gets replayed. For example you could have a
> > concurrent autovacuum generating WAL.
>
> Autovacuum is turned off in this case, but anyway other kinds of WAL
> records can be generated.
make sense. Fixed in v11.
Please, find in v11 for version 9.5, 9.6 and 10.
Regards,
Commits
-
Fix interpolation in test name.
- e16e9204692c 11.10 landed
- af2d09fa1c28 12.5 landed
- 6fb1c5b52826 13.0 landed
- 47a3a1c3d498 14.0 landed
-
Add more TAP coverage for archive status with crash recovery of standbys
- ebf6de869276 13.0 landed
-
Fix handling of WAL segments ready to be archived during crash recovery
- 9eff11653962 9.5.22 landed
- c2d8ae0dfe84 9.6.18 landed
- 02657c42199c 10.13 landed
- 2d24ca00b750 11.8 landed
- 22db5269bfa1 12.3 landed
- 4e87c4836ab9 13.0 landed
-
Fix WAL recycling on standbys depending on archive_mode
- 78ea8b5daab9 12.0 cited