Re: Re: Hot Standby query cancellation and Streaming Replication integration

Kevin Grittner <kevin.grittner@wicourts.gov>

From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Josh Berkus" <josh@agliodbs.com>, "Robert Haas" <robertmhaas@gmail.com>
Cc: "Greg Smith" <greg@2ndquadrant.com>, "PostgreSQL-development" <pgsql-hackers@postgresql.org>
Date: 2010-03-01T22:52:50Z
Lists: pgsql-hackers
Josh Berkus <josh@agliodbs.com> wrote:
 
> It's undeniable that auto-retry would be better from a user's
> perspective than a user-visible cancel.  So if it's *reasonable*
> to implement, I think we should be working on it.  I'm also very
> puzzled as to why nobody else wants to even discuss it; it's like
> some wierd blackout.
 
Well, at least for serializable transactions past the first
statement, you'd need to have the complete *logic* for the
transaction in order to do a retry.  Not that this is a bad idea --
our application framework does this automatically -- but unless you
only support this for a transaction which is wrapped up as a
function, I don't see how the database itself could handle it.  It
might be *possible* to do it outside of a single-function
transaction in a read committed transaction, but you'd have to be
careful about locks.  I remember suggesting automatic query retry
(rather than continuing in a mixed-snapshot mode) for update
conflicts in read committed mode and Tom had objections; you might
want to check the archives for that.
 
-Kevin