Heikki Linnakangas <heikki@enterprisedb.com> writes:
> I'm afraid the bug has been there for ages, but the 90%-fillfactor on
> rightmost page patch made it much more likely to get triggered.
But that patch has been there for ages too; the only new thing in 8.2 is
that the fillfactor is configurable, but its default is the same. So
I'm still wondering why the bug isn't seen in 8.1. (Joe, did you try
anything older than 8.1?)
> To see what's going on, I added some logs to the split code to print out
> the free space on both halves as calculated by findsplitloc, and the
> actual free space on the pages after split. I'm seeing a discrepancy of
> 4 bytes on the right half; actual space free on right page after split
> is 4 bytes less than anticipated.
Hm, mis-counting the positions of itempointers maybe?
> That's not a big deal, but I'll take a closer look
> tomorrow to see what's missing from the calculations.
OK, I've got some other things to worry about, will leave it to you.
regards, tom lane