On Wed, Nov 04, 2020 at 05:36:46PM +1300, Thomas Munro wrote:
On Wed, Nov 4, 2020 at 2:57 PM Tomas Vondra
<tomas.von...@2ndquadrant.com> wrote:
On Wed, Nov 04, 2020 at 02:49:24PM +1300, Thomas Munro wrote:
>On Wed, Nov 4, 2020 at 2:32 PM Tomas Vondra
><tomas.von...@2ndquadrant.com> wrote:
>> After a while (~1h on my machine) the pg_multixact gets over 10GB, which
>> triggers a more aggressive cleanup (per MultiXactMemberFreezeThreshold).
>> My guess is that this discards some of the files, but checkpointer is
>> not aware of that, or something like that. Not sure.
>
>Urgh.  Thanks.  Looks like perhaps the problem is that I have
>RegisterSyncRequest(&tag, SYNC_FORGET_REQUEST, true) in one codepath
>that unlinks files, but not another.  Looking.

Maybe. I didn't have time to investigate this more deeply, and it takes
quite a bit of time to reproduce. I can try again with extra logging or
test some proposed fixes, if you give me a patch.

I think this should be fixed by doing all unlinking through a common
code path.  Does this pass your test?

Seems to be working - without the patch it failed after ~1h, now it's
running for more than 2h without a crash. I'll let it run for a few more
hours (on both machines).

regards

--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to