pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of
Date: 2008-03-05 17:01:41
Message-ID: 20080305170141.8E301754108@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
In PrepareToInvalidateCacheTuple, don't force initialization of catalog
caches that we don't actually need to touch. This saves some trivial
number of cycles and avoids certain cases of deadlock when doing concurrent
VACUUM FULL on system catalogs. Per report from Gavin Roy.

Backpatch to 8.2. In earlier versions, CatalogCacheInitializeCache didn't
lock the relation so there's no deadlock risk (though that certainly had
plenty of risks of its own).

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
pgsql/src/backend/utils/cache:
catcache.c (r1.134 -> r1.134.2.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/catcache.c?r1=1.134&r2=1.134.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2008-03-05 17:04:24 pgsql: Update libpqxx URL in top-level README, per Gurjeet Singh.
Previous Message Tom Lane 2008-03-05 17:01:33 pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of