From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: Odd, intermittent failure in contrib/pageinspect
Date: Tue, 19 Jan 2021 20:57:22 -0500
Message-ID: <560614.1611107842@sss.pgh.pa.us> (raw)
In-Reply-To: <20210120015006.xbw5ol7va66warlu@alap3.anarazel.de>
References: <416195.1611009300@sss.pgh.pa.us>
<20210118224005.GA3146@alvherre.pgsql>
<20210120015006.xbw5ol7va66warlu@alap3.anarazel.de>
Andres Freund <andres@anarazel.de> writes:
> I think you don't event need checkpointer to be involved, normal buffer
> replacement would do the trick. We briefly pin the page in BufferAlloc()
> even if the page is clean. Longer when it's dirty, of course.
True, but it seems unlikely that the pages in question here would be
chosen as replacement victims. These are non-parallel tests, so
there's little competitive pressure. I could believe that a background
autovacuum is active, but not that it's dirtied so many pages that
tables the test script just created need to get swapped out.
The checkpointer theory seems good because it requires no assumptions
at all about competing demand for buffers. If the clock sweep gets
to the table page (which we know is recently dirtied) at just the right
time, we'll see a failure.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, andres@anarazel.de, alvherre@alvh.no-ip.org, michael@paquier.xyz, pgsql-hackers@lists.postgresql.org
Subject: Re: Odd, intermittent failure in contrib/pageinspect
In-Reply-To: <560614.1611107842@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox