pgsql: Fix bundle bugs of GIN: - Fix possible deadlock between UPDATE - Mailing list pgsql-committers

From teodor@postgresql.org (Teodor Sigaev)
Subject pgsql: Fix bundle bugs of GIN: - Fix possible deadlock between UPDATE
Date
Msg-id 20070604155920.1B2759FB676@postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Fix bundle bugs of GIN:
- Fix possible deadlock between UPDATE and VACUUM queries. Bug never was
  observed in 8.2, but it still exist there. HEAD is more sensitive to
  bug after recent "ring" of buffer improvements.
- Fix WAL creation: if parent page is stored as is after split then
  incomplete split isn't removed during replay. This happens rather rare, only
  on large tables with a lot of updates/inserts.
- Fix WAL replay: there was wrong test of XLR_BKP_BLOCK_* for left
  page after deletion of page. That causes wrong rightlink field: it pointed
  to deleted page.
- add checking of match of clearing incomplete split
- cleanup incomplete split list after proceeding

All of this chages doesn't change on-disk storage, so backpatch...
But second point may be an issue for replaying logs from previous version.

Tags:
----
REL8_2_STABLE

Modified Files:
--------------
    pgsql/src/backend/access/gin:
        gindatapage.c (r1.5 -> r1.5.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/gindatapage.c.diff?r1=1.5&r2=1.5.2.1)
        ginentrypage.c (r1.5 -> r1.5.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginentrypage.c.diff?r1=1.5&r2=1.5.2.1)
        ginget.c (r1.4 -> r1.4.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginget.c.diff?r1=1.4&r2=1.4.2.1)
        ginvacuum.c (r1.9 -> r1.9.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginvacuum.c.diff?r1=1.9&r2=1.9.2.1)
        ginxlog.c (r1.5 -> r1.5.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gin/ginxlog.c.diff?r1=1.5&r2=1.5.2.1)

pgsql-committers by date:

Previous
From: teodor@postgresql.org (Teodor Sigaev)
Date:
Subject: pgsql: Fix bundle bugs of GIN: - Fix possible deadlock between UPDATE
Next
From: "Simon Riggs"
Date:
Subject: Re: pgsql: Create a GUC parameter temp_tablespacesthat allows selection of