Re: BUG #17103: WAL segments are not removed after exceeding max_slot_wal_keep_size
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: alvherre@alvh.no-ip.org
Cc: jeff.janes@gmail.com, mk@071.ovh, pgsql-bugs@lists.postgresql.org
Date: 2021-07-19T02:13:18Z
Lists: pgsql-bugs
Attachments
At Sat, 17 Jul 2021 10:28:09 -0400, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote in > On 2021-Jul-16, Alvaro Herrera wrote: > > > The buildfarm has remained green so far, but clearly this is something > > we need to fix. Maybe it's as simple as adding the loop we use below, > > starting at line 219. > > There are a few failures of this on buildfarm now, .. > I am running the test in a loop with the attached; if it doesn't fail in > a few more rounds I'll push it. > > There are two instances of a different failure: > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=kittiwake&dt=2021-07-17%2013%3A39%3A43 > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=hornet&dt=2021-07-16%2021%3A14%3A14 > > # Failed test 'check that segments have been removed' > # at t/019_replslot_limit.pl line 213. > # got: '000000010000000000000021' > # expected: '000000010000000000000022' > # Looks like you failed 1 test of 19. > [23:55:14] t/019_replslot_limit.pl .............. > Dubious, test returned 1 (wstat 256, 0x100) > > I'm afraid about this not being something we can fix with some > additional wait points ... Sorry for the mistake. It seems to me the cause the above is that segment removal happens *after* invalidation. Since (at least currently) the "slot is invalidated" warning issued only at the time just before WAL-removal, we should expect that old segments are gone after the checkpoint-ending log, which should be seen after WAL-removal. If not, that shows that there's a bug. What do you think about the attached? regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Close yet another race condition in replication slot test code
- 41d27ee7b870 13.4 landed
- f951f6f69c7e 14.0 landed
- ce197e91d02c 15.0 landed
-
Make new replication slot test code even less racy
- ce413eba4116 13.4 landed
- 1e8751380836 14.0 landed
- 0d2cb6b2bbc3 15.0 landed
-
Make new replication slot test code less racy
- d8f3b021c618 14.0 landed
- 8589299e03ff 15.0 landed
- 7099ba058035 13.4 landed
-
Advance old-segment horizon properly after slot invalidation
- ead9e51e8236 15.0 landed
- e5bcbb10707b 14.0 landed
- 866237a6fa01 13.4 landed