Re: Hot Standby and query cancel
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: pgsql-hackers@postgresql.org
Cc: Simon Riggs <simon@2ndquadrant.com>, Joachim Wieland <joe@mcknight.de>, Tom Lane <tgl@sss.pgh.pa.us>, Fujii Masao <masao.fujii@gmail.com>
Date: 2010-01-13T18:58:32Z
Lists: pgsql-hackers
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