Re: Hot Standy introduced problem with query cancel behavior
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joachim Wieland <joe@mcknight.de>, Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org, Kris Jurka <books@ejurka.com>, Fujii Masao <masao.fujii@gmail.com>
Date: 2010-01-07T17:32:25Z
Lists: pgsql-hackers
Attachments
- another_recovery_cancel.patch (text/x-patch) patch
On Thu, 2010-01-07 at 12:14 -0500, Tom Lane wrote: > 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. Hmmm. Can you check my current attempt? This may suffer this problem. If, so can you explain a little more for me? Thanks. -- Simon Riggs www.2ndQuadrant.com