Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> writes:
> While working on [1], I got to know that there is a new GUC
> debug_invalidate_system_caches_always that has been introduced in v14.
> It can be used to switch off cache invalidation in
> CLOBBER_CACHE_ALWAYS builds which makes cache sensitive tests stable.
> Using this GUC, it is quite possible to make cached connection
> management function tests more meaningful by returning original
> values(true/false, all the output columns) instead of SELECT 1.
Note that this needs an update in the wake of d68a00391.
More generally, though, I am not sure that I believe the premise of
this patch. AFAICS it's assuming that forcing debug_discard_caches
off guarantees zero cache flushes, which it does not. (If it could,
we wouldn't need the whole thing; the point of that variable is to
deterministically force flushes which would otherwise be
nondeterministic, not nonexistent.) Even in a contrib test that
seemingly has nothing else running, background activity such as
autovacuum could result in surprises. So I fear that what you have
got here is a patch that will work 99% of the time; which is not
good enough for the buildfarm.
regards, tom lane