Simon Riggs <simon@2ndQuadrant.com> writes:
> On Thu, 2010-01-07 at 14:45 +0100, Joachim Wieland wrote:
>> @Simon: Is there a reason why you have not yet removed recoveryConflictMode
>> from PGPROC?
> Unfortunately we still need a mechanism to mark which backends have been
> cancelled already. Transaction state for virtual transactions isn't
> visible on the procarray, so we need something there to indicate that a
> backend has been sent a conflict. Otherwise we'd end up waiting for it
> endlessly. The name will be changing though.
While we're discussing this: the current coding with
AbortOutOfAnyTransaction within ProcessInterrupts is *utterly* unsafe.
I realize that's just a toy placeholder, but getting rid of it has to be
on the list of stop-ship items. Right at the moment I'd prefer to see
CONFLICT_MODE_ERROR always turned into CONFLICT_MODE_FATAL than to
imagine this is going to work.
regards, tom lane