"Merlin Moncure" <mmoncure(at)gmail(dot)com> writes:
> On Wed, Nov 26, 2008 at 11:06 AM, Marko Kreen <markokr(at)gmail(dot)com> wrote:
>> I think this should be back-patched as well:
>> - The fact that disconnect will clean up used resources has been
>> always true, thus most clients assume at some level.
>> - DISCARD ALL was new feature in 8.3. It is highly doubtful some
>> adv-locks using project has managed to hard-code dependency on
>> buggy behaviour of DISCARD.
>> - The bug was reported by regular user who encountered deadlocks
>> on 8.3 because of it.
> I see your point but there's a pretty high standard for changing
> existing behavior in bugfix releases. It's just as likely to introduce
> an application bug as to fix one...suppose the application is using
> both 'discard all' for prepared statements and advisory locks for
> other purposes. You could break that application.
DISCARD ALL was specifically added in 8.3 for the purpose of connection
poolers to be a "big hammer" that exactly emulates a new session. I'm somewhat
skeptical that there are any applications using it directly at all, and doubly
so that they would be using it and expecting advisory locks to persist.
I think the second and third points are pretty convincing.
Ask me about EnterpriseDB's On-Demand Production Tuning
In response to
pgsql-hackers by date
|Next:||From: Heikki Linnakangas||Date: 2008-11-26 19:15:49|
|Subject: Re: Comments to Synchronous replication patch v3|
|Previous:||From: Robert Haas||Date: 2008-11-26 19:11:57|
|Subject: Re: [bugfix] DISCARD ALL does not release advisory locks|