Re: Get rid of WALBufMappingLock

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Victor Yegorov <vyegorov(at)gmail(dot)com>, Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: Get rid of WALBufMappingLock
Date: 2025-02-26 01:03:57
Message-ID: Z75ofZm5LdvYGNOJ@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 25, 2025 at 05:19:29PM +0200, Alexander Korotkov wrote:
> It seems that I managed to reproduce the issue on my Raspberry PI 4.
> After running our test suite in a loop for 2 days I found one timeout.

Hmm. It's surprising to not see a higher occurence. My buildfarm
host has caught that on its first run after the patch, for two
different animals which are both on the same machine.

> One way or another, we need protection against this situation any way.
> The updated patch is attached. Now, after acquiring ReservedPtr it
> waits till OldPageRqstPtr gets initialized. Additionally I've to
> implement more accurate calculation of OldPageRqstPtr. I run tests
> with new patch on my Raspberry in a loop. Let's see how it goes.

Perhaps you'd prefer that I do more tests with your patch? This is
time-consuming for you. This is not a review of the internals of the
patch, and I cannot give you access to the host, but if my stuff is
the only place where we have a good reproducibility of the issue, I'm
OK to grab some time and run a couple of checks to avoid again a
freeze of the buildfarm.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2025-02-26 01:14:43 Re: Make COPY format extendable: Extract COPY TO format implementations
Previous Message Michael Paquier 2025-02-26 00:53:09 Re: Remove wal_[sync|write][_time] from pg_stat_wal and track_wal_io_timing