On 9/16/07, Tom Lane <[EMAIL PROTECTED]> wrote:
> Couldn't say. Those two were on my mind because the reporters had
> allowed me to troll through their table and index files and verify
> that there were indeed multiple index pointers to the same table row,
> and yet the index itself did not show any indication of corruption.
> I had noticed the "clumping" pattern of the doubly-linked rows in
> both cases, but hadn't found an explanation.
This was a nice catch indeed! I remember we fixed a similar issue
with VACUUM FULL few months back. Such issues would become
prominent with HOT because of early vacuuming and reuse of
tuples. Also unlike current VACUUM which runs exclusively on a table
(i.e. no two vacuums are allowed to run on a table simultaneously),
HOT makes concurrent pruning and vacuuming of a table possible.
In fact, during HOT development and testing cycles, I faced
similar race conditions a few times. This is just to keep ourselves aware of
the changes introduced by HOT. Hopefully by now we have fixed most of
the outstanding bugs in the HOT code (and Tom's eyes would catch the
remaining, if any :-)). Fingers crossed.