From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix "failed to re-find parent key" btree VACUUM failure by |
Date: | 2006-11-01 19:43:17 |
Message-ID: | 20061101194317.CF5E69FB571@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Fix "failed to re-find parent key" btree VACUUM failure by revising page
deletion code to avoid the case where an upper-level btree page remains "half
dead" for a significant period of time, and to block insertions into a key
range that is in process of being re-assigned to the right sibling of the
deleted page's parent. This prevents the scenario reported by Ed L. wherein
index keys could become out-of-order in the grandparent index level.
Since this is a moderately invasive fix, I'm applying it only to HEAD.
The bug exists back to 7.4, but the back branches will get a different patch.
Modified Files:
--------------
pgsql/src/backend/access/nbtree:
README (r1.13 -> r1.14)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/README.diff?r1=1.13&r2=1.14)
nbtinsert.c (r1.144 -> r1.145)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtinsert.c.diff?r1=1.144&r2=1.145)
nbtpage.c (r1.100 -> r1.101)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.100&r2=1.101)
nbtree.c (r1.152 -> r1.153)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.152&r2=1.153)
nbtxlog.c (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.38&r2=1.39)
pgsql/src/include/access:
nbtree.h (r1.105 -> r1.106)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/nbtree.h.diff?r1=1.105&r2=1.106)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-11-01 19:50:03 | pgsql: Fix "failed to re-find parent key" btree VACUUM failure by |
Previous Message | Tom Lane | 2006-11-01 15:59:31 | pgsql: pg_restore failed on tar-format archives if they contained large |