- Notifications
You must be signed in to change notification settings - Fork5
Commit6cefacd
committed
Correct an old logic error in btree page splitting: when considering a split
exactly at the point where we need to insert a new item, the calculation usedthe wrong size for the "high key" of the new left page. This could lead tochoosing an unworkable split, resulting in "PANIC: failed to add item to theleft sibling" (or "right sibling") failure. Although this bug has been therea long time, it's very difficult to trigger a failure before 8.2, since therewas generally a lot of free space on both sides of a chosen split. In 8.2,where the user-selected fill factor determines how much free space the codetries to leave, an unworkable split is much more likely. Report by JoeConway, diagnosis and fix by Heikki Linnakangas.1 parent0fe1c36 commit6cefacd
1 file changed
+7
-2
lines changedLines changed: 7 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
1153 | 1153 |
| |
1154 | 1154 |
| |
1155 | 1155 |
| |
1156 |
| - | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
1157 | 1162 |
| |
1158 | 1163 |
| |
1159 | 1164 |
| |
|
0 commit comments
Comments
(0)