-
- Downloads
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.
Showing
- src/backend/access/nbtree/README 16 additions, 17 deletionssrc/backend/access/nbtree/README
- src/backend/access/nbtree/nbtinsert.c 3 additions, 3 deletionssrc/backend/access/nbtree/nbtinsert.c
- src/backend/access/nbtree/nbtpage.c 209 additions, 53 deletionssrc/backend/access/nbtree/nbtpage.c
- src/backend/access/nbtree/nbtree.c 4 additions, 5 deletionssrc/backend/access/nbtree/nbtree.c
- src/backend/access/nbtree/nbtxlog.c 124 additions, 58 deletionssrc/backend/access/nbtree/nbtxlog.c
- src/include/access/nbtree.h 7 additions, 3 deletionssrc/include/access/nbtree.h
Loading
Please register or sign in to comment