pgsql: Fix "failed to re-find parent key" btree VACUUM failure by
| От | tgl@postgresql.org (Tom Lane) | 
|---|---|
| Тема | pgsql: Fix "failed to re-find parent key" btree VACUUM failure by | 
| Дата | |
| Msg-id | 20061101194317.CF5E69FB571@postgresql.org обсуждение исходный текст  | 
		
| Список | 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)
		
	В списке pgsql-committers по дате отправления: