Re: BUG #17103: WAL segments are not removed after exceeding max_slot_wal_keep_size

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Cc: jeff(dot)janes(at)gmail(dot)com, mk(at)071(dot)ovh, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17103: WAL segments are not removed after exceeding max_slot_wal_keep_size
Date: 2021-07-19 21:24:48
Message-ID: 202107192124.kay2nglie2y3@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2021-Jul-19, Kyotaro Horiguchi wrote:

> 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?

Sounds sensible -- I verified the logs for one of the cases that failed
in the buildfarm, and indeed the "checkpoint ended" message appears
after the s2 slot is created, so it should fix the problem. (I didn't
actually try to reproduce the problem locally, so I didn't verify the
fix any further than ensuring the test still passes.)

Pushed, thanks!

--
Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2021-07-19 23:17:07 Re: BUG #17113: Assert failed on calling a function fixed after an extension reload
Previous Message Andrey Borodin 2021-07-19 18:41:28 Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data