Thread: pgsql: Repair very-low-probability race condition between relation

pgsql: Repair very-low-probability race condition between relation

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Repair very-low-probability race condition between relation extension
and VACUUM: in the interval between adding a new page to the relation
and formatting it, it was possible for VACUUM to come along and decide
it should format the page too.  Though not harmful in itself, this would
cause data loss if a third transaction were able to insert tuples into
the vacuumed page before the original extender got control back.

Tags:
----
REL8_0_STABLE

Modified Files:
--------------
    pgsql/src/backend/access/heap:
        hio.c (r1.54 -> r1.54.4.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/hio.c.diff?r1=1.54&r2=1.54.4.1)
    pgsql/src/backend/access/nbtree:
        nbtpage.c (r1.81 -> r1.81.4.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.81&r2=1.81.4.1)
        nbtree.c (r1.124 -> r1.124.4.1)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.124&r2=1.124.4.1)
    pgsql/src/backend/commands:
        vacuumlazy.c (r1.50.4.1 -> r1.50.4.2)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/vacuumlazy.c.diff?r1=1.50.4.1&r2=1.50.4.2)