pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of
Date
Msg-id 20080305170133.6174C754108@cvs.postgresql.org
Whole thread Raw
List 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_3_STABLE

Modified Files:
--------------
    pgsql/src/backend/utils/cache:
        catcache.c (r1.140 -> r1.140.2.1)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/catcache.c?r1=1.140&r2=1.140.2.1)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: In PrepareToInvalidateCacheTuple, don't force initialization of