Re: [PATCH] Runtime control of CLOBBER_CACHE_ALWAYS
Craig Ringer <craig.ringer@enterprisedb.com>
From: Craig Ringer <craig.ringer@enterprisedb.com>
To: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Craig Ringer <craig@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-12-01T08:50:55Z
Lists: pgsql-hackers
On Mon, 30 Nov 2020, 20:38 Anastasia Lubennikova, < a.lubennikova@postgrespro.ru> wrote: > On 27.10.2020 11:34, Peter Eisentraut 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. > >> > >> clobber_cache_depth is treated as an unknown GUC if Pg was not built > >> with CLOBBER_CACHE_ALWAYS or CLOBBER_CACHE_RECURSIVE defined. > > > > 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. > > > > For backward compatibility, you can arrange it so that the built-in > > default of clobber_cache_depth is 1 or 3 if CLOBBER_CACHE_ALWAYS or > > CLOBBER_CACHE_RECURSIVE are defined. > > > > Status update for a commitfest entry. > > This thread was inactive during the commitfest, so I am going to mark it > as "Returned with Feedback". > Craig, are you planning to continue working on it? The proposed idea is > great and it looks like the patch needs only a minor improvement. > Thanks. I'll update it soon.
Commits
-
Replace CLOBBER_CACHE_ALWAYS with run-time GUC
- 4656e3d66893 14.0 landed
-
doc: Document how to run regression tests with custom server settings
- 854434c50a35 14.0 landed