Re: [bugfix] DISCARD ALL does not release advisory locks

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Merlin Moncure" <mmoncure(at)gmail(dot)com>
Cc: "Marko Kreen" <markokr(at)gmail(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Postgres Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [bugfix] DISCARD ALL does not release advisory locks
Date: 2008-11-26 19:13:33
Message-ID: 87iqqapag2.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"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.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's On-Demand Production Tuning

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2008-11-26 19:15:49 Re: Comments to Synchronous replication patch v3
Previous Message Robert Haas 2008-11-26 19:11:57 Re: [bugfix] DISCARD ALL does not release advisory locks