Re: jaguar is up - Mailing list pgsql-hackers

From Tom Lane
Subject Re: jaguar is up
Date
Msg-id 2700.1196314857@sss.pgh.pa.us
Whole thread Raw
In response to Re: jaguar is up  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-hackers
Gregory Stark <stark@enterprisedb.com> writes:
> "Tom Lane" <tgl@sss.pgh.pa.us> writes:
>> I didn't do anything about it at the time, but now I am tempted to
>> modify LookupOpclassInfo() so that CLOBBER_CACHE_ALWAYS disables
>> its internal cache.  Any objections?

> That sounds not equivalent to receiving a relcache flush at any particular
> point in time where a relcache flush could be received. Wouldn't it make more
> sense (and test more code) to go ahead and cache all the same data but flush
> it whenever a relcache flush could possibly be received?

CLOBBER_CACHE_ALWAYS already did that.

I'm too lazy to go back and reconstruct the exact sequence of events
that led to the problem last December, but the basic issue is that
LookupOpclassInfo had its own caching in front of the syscache flush,
and that was able to obscure a cache flush race condition that only
happened when LookupOpclassInfo had to actually load data.  If you
really want to question this, I suggest loading up a CVS snapshot from
late last December and trying to reproduce the intermittent buildfarm
failures we were seeing then.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: [GENERAL] plperl and regexps with accented characters - incompatible?
Next
From: Tom Lane
Date:
Subject: Re: How to write a c-function to return multiple bytea rows