On 11 October 2012 20:43, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> So we have to take the snapshot before you begin execution, but it
>> seems that to avoid surprising behavior we also have to take it after
>> acquiring locks. And it looks like locking is intertwined with a
>> bunch of other parse analysis tasks that might require a snapshot to
>> have been taken first. Whee.
> Yeah. I think that a good solution to this would involve guaranteeing
> that the execution snapshot is not taken until we have all locks that
> are going to be taken on the tables. Which is likely to involve a fair
> amount of refactoring, though I admit I've not looked at details.
> In any case, it's a mistake to think about this in isolation. If we're
> going to do something about redefining SnapshotNow to avoid its race
> conditions, that's going to move the goalposts quite a lot.
> Anyway, my feeling about it is that I don't want 9.2 to have an
> intermediate behavior between the historical one and whatever we end up
> designing to satisfy these concerns. That's why I'm pressing for
> reversion and not a band-aid fix in 9.2. I certainly hope we can do
> better going forward, but this is not looking like whatever we come up
> with would be sane to back-patch.
Agreed, please revert.
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
In response to
pgsql-hackers by date
|Next:||From: Tom Lane||Date: 2012-10-11 19:50:06|
|Subject: Re: Deprecating RULES|
|Previous:||From: Tom Lane||Date: 2012-10-11 19:43:04|
|Subject: Re: change in LOCK behavior|