Re: BUG #17103: WAL segments are not removed after exceeding max_slot_wal_keep_size
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: jeff.janes@gmail.com, mk@071.ovh, pgsql-bugs@lists.postgresql.org
Date: 2021-07-16T02:49:11Z
Lists: pgsql-bugs
On 2021-Jul-16, Kyotaro Horiguchi wrote: > It's because another checkpoint is running at the time the manual > checkpoint just before is invoked. Two successive checkpoint hides > the defect. The checkpoint works as the rendezvous point for the > succeeding tests so I added another sync point instead of the manual > checkpoint. The test in the attached correctly fails if _logSegNo > were not updated by slot invalidation. OK, I thought as much and tried to catch it in the act but couldn't. Your explanation makes sense. > By the way, about the previous version, XLByteToSeg is needed since > KeepLogSeg doesn't advance _logSegNo, which is the wanted action > here. The test in the attached fails if only KeepLogSeg is called > again. Oh, true. > I confirmed that *the previous* version of the test works for Windows. > (So there's no reason that the current version doesn't work.) Great, thanks. -- Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/ "Siempre hay que alimentar a los dioses, aunque la tierra esté seca" (Orual)
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