Hi Simon,
On Wednesday 13 January 2010 19:24:22 Simon Riggs wrote:
> We've been chewing around query cancel on Hot Standby and I think things
> have got fairly confusing, hence a new thread.
Good idea.
> I enclose a patch that includes all the things that we all agree on so
> far, in my understanding
cool.
> * Recovery conflict processing uses SIGUSR1 rather than shmem per Tom,
> while holding ProcArrayLock per Andres
>
> * CONFLICT_MODE_ERROR throws ERROR when in a transaction, not idle and
> not in subtransaction, otherwise becomes CONFLICT_MODE_FATAL per Tom and
> other discussion
>
> * Recovery abort message has additional detail, per Heikki
>
> It doesn't include anything still under discussion, though is intended
> as a base upon which further patches can progress independently.
> I am still testing patch, so should be confident to commit tomorrow
> barring issues.
I have only looked at briefly because right now I dont have the time (going to
eat at a friends place...) but I think I spotted an issue:
The IsAbortedTransactionBlockState() check in RecoveryConflictInterrupt is not
correct right now because that returns true for TBLOCK_SUBABORT as well.
Wouldnt that mess with the case where were in a failed subxact and then
rollback only that subxact?
Andres