pgsql: Repair PANIC condition in hash indexes when a previous index

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Repair PANIC condition in hash indexes when a previous index
Date: 2007-04-19 20:24:36
Message-ID: 20070419202436.4BC169FB6D8@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Repair PANIC condition in hash indexes when a previous index extension attempt
failed (due to lock conflicts or out-of-space). We might have already
extended the index's filesystem EOF before failing, causing the EOF to be
beyond what the metapage says is the last used page. Hence the invariant
maintained by the code needs to be "EOF is at or beyond last used page",
not "EOF is exactly the last used page". Problem was created by my patch
of 2006-11-19 that attempted to repair bug #2737. Since that was
back-patched to 7.4, this needs to be as well. Per report and test case
from Vlastimil Krejcir.

Tags:
----
REL7_4_STABLE

Modified Files:
--------------
pgsql/src/backend/access/hash:
README (r1.3 -> r1.3.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/README.diff?r1=1.3&r2=1.3.2.1)
hashovfl.c (r1.41.2.1 -> r1.41.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hashovfl.c.diff?r1=1.41.2.1&r2=1.41.2.2)
hashpage.c (r1.42.2.1 -> r1.42.2.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hashpage.c.diff?r1=1.42.2.1&r2=1.42.2.2)
pgsql/src/include/access:
hash.h (r1.53 -> r1.53.2.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/hash.h.diff?r1=1.53&r2=1.53.2.1)

Browse pgsql-committers by date

  From Date Subject
Next Message James William Pye 2007-04-19 21:41:29 python - pkg: Add configure to fetch package sources.
Previous Message Tom Lane 2007-04-19 20:24:29 pgsql: Repair PANIC condition in hash indexes when a previous index