| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Daniel Wood <dwood(at)salesforce(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: lock on object is already held |
| Date: | 2013-11-27 17:30:37 |
| Message-ID: | 18886.1385573437@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Daniel Wood <dwood(at)salesforce(dot)com> writes:
> Does the original version of my stress test not repro the problem on 9.2?
[ tries it ... ] No, it doesn't, or at least the MTBF is a couple orders
of magnitude better than on 9.3.
Another odd thing (seen with my short version as well as your original)
is that 9.3/HEAD run the test case enormously faster than 9.2 and 9.1
do. The older versions seem to spend a lot of time sleeping, which
I don't understand.
> Why does LockAcquireExtended() test for "nLocks == 0" in the "if
> (dontWait)" block before calling RemoveLocalLock()?
Looks like a useless test to me --- we wouldn't be here at all if nLocks
had been positive to start with, and there's nothing in between that
could raise the count. On the other hand, removing a LOCALLOCK that
did have positive count would be disastrous. Maybe what would be
more appropriate is an Assert(nLocks == 0) in RemoveLocalLock().
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dimitri Fontaine | 2013-11-27 17:34:39 | Re: Extension Templates S03E11 |
| Previous Message | Dimitri Fontaine | 2013-11-27 17:21:46 | Re: Status of FDW pushdowns |