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-15T19:09:55Z
Lists: pgsql-bugs
Attachments
On 2021-Jul-15, Kyotaro Horiguchi wrote: > This is it. It is for the master branch but also applicable to 14 as > is. Not needed for earlier version. > I believe the test works for Windows but haven't checked. I looked at it. I think it is better to make the calls to ReplicationSlotsComputeRequiredLSN() in slot.c (which is where most other calls to that function are). Also we should recompute the minimum required Xmin at that point. Another change I did was move the "*invalidated=true" assignment to the block where we actually invalidate the slot; in your patch you were doing it possibly too early if the slot was in use by some other process. (For end effect it probably doesn't matter much, but it's better to have it right.) -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
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