Re: [PATCH] Runtime control of CLOBBER_CACHE_ALWAYS

Craig Ringer <craig.ringer@enterprisedb.com>

From: Craig Ringer <craig.ringer@enterprisedb.com>
To: Craig Ringer <craig@2ndquadrant.com>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-12-10T03:00:42Z
Lists: pgsql-hackers
On Thu, 3 Dec 2020 at 15:53, Craig Ringer <craig@2ndquadrant.com> wrote:

>
> On Tue, 27 Oct 2020 at 16:34, Peter Eisentraut <
> peter.eisentraut@2ndquadrant.com> wrote:
>
>> On 2020-09-25 09:40, Craig Ringer wrote:
>> > While working on extensions I've often wanted to enable cache
>> clobbering
>> > for a targeted piece of code, without paying the price of running it
>> for
>> > all backends during postgres startup and any initial setup tasks that
>> > are required.
>> >
>> > So here's a patch that, when CLOBBER_CACHE_ALWAYS or
>> > CLOBBER_CACHE_RECURSIVE are defined, adds a GUC named
>> > clobber_cache_depth . It defaults to 1 for CLOBBER_CACHE_ALWAYS or 3
>> for
>> > CLOBBER_CACHE_RECURSIVE to match the existing compiled-in behaviour.
>> But
>> > with this change it's now possible to run Pg with clobber_cache_depth=0
>> > then set it to 1 only for targeted tests.
>>
>> I think it would be great if the cache clobber code is always compiled
>> in (but turned off) when building with assertions.  The would reduce the
>> number of hoops to jump through to actually use this locally and reduce
>> the number of surprises from the build farm.
>
>
>
Updated per your comments Peter, see mail immediately up-thread.

Moved to this CF as https://commitfest.postgresql.org/31/2749/ .

Commits

  1. Replace CLOBBER_CACHE_ALWAYS with run-time GUC

  2. doc: Document how to run regression tests with custom server settings