On Sun, 2010-01-31 at 15:41 -0500, Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
> > At the moment a btree delete record will cancel every request
> > 1. no matter how long they have been running
> > 2. no matter if they haven't accessed the index being cleaned (they
> > might later, is the thinking...)
>
> That seems seriously horrid. What is the rationale for #2 in
> particular? I would hope that at worst this would affect sessions
> that are actively competing for the index being cleaned.
That is exactly the feedback I received from many other people and why I
prioritised the relation-specific conflict patch.
It's worse that that because point 2 effects WAL cleanup records for the
heap also.
The rationale is that a session *might* in the future access a table,
and if it did so it would receive the wrong answer *potentially*. This
is the issue I have been discussing for a long time now, in various
forms, starting on-list in Aug 2008.
-- Simon Riggs www.2ndQuadrant.com