| From: | Thomas Munro <munro(at)ip9(dot)org> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
| Cc: | Craig Ringer <craig(at)2ndquadrant(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: SKIP LOCKED DATA (work in progress) |
| Date: | 2014-08-25 21:15:31 |
| Message-ID: | CADLWmXXJtq1OsxmrfdNHA9hTLRP+v5mpq5QjxSXF+BeXX+hOow@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 25 August 2014 02:57, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> wrote:
> Thomas Munro wrote:
>> The difficulty of course will be testing all these racy cases reproducibly...
>
> Does this help?
> http://www.postgresql.org/message-id/51FB4305.3070600@2ndquadrant.com
> The useful trick there is forcing a query to get its snapshot and then
> go to sleep before actually doing anything, by way of an advisory lock.
Yes it does, thanks Alvaro and Craig. I think the attached spec
reproduces the problem using that trick, ie shows NOWAIT blocking,
presumably in EvalPlanQualFetch (though I haven't stepped through it
with a debugger yet). I'm afraid I'm out of Postgres hacking cycles
for a few days, but next weekend I should have a new patch that fixes
this by teaching EvalPlanQualFetch about wait policies, with isolation
tests for NOWAIT and SKIP LOCKED.
Best regards,
Thomas Munro
| Attachment | Content-Type | Size |
|---|---|---|
| nowait-4.spec | text/x-rpm-spec | 626 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2014-08-25 22:34:38 | Re: Hardening pg_upgrade |
| Previous Message | Bruce Momjian | 2014-08-25 21:07:28 | Re: Is this a bug? |