Re: SKIP LOCKED DATA (work in progress)
От | Thomas Munro |
---|---|
Тема | Re: SKIP LOCKED DATA (work in progress) |
Дата | |
Msg-id | CADLWmXUB+GFz0wvPDw6aZm5TfcFCHgrhH37CkfbRXwnDbik4xw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: SKIP LOCKED DATA (work in progress) (Alvaro Herrera <alvherre@2ndquadrant.com>) |
Ответы |
Re: SKIP LOCKED DATA (work in progress)
Re: SKIP LOCKED DATA (work in progress) |
Список | pgsql-hackers |
On 27 August 2014 17:18, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > Thomas Munro wrote: >> On 25 August 2014 02:57, Alvaro Herrera <alvherre@2ndquadrant.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. > > Hmm, http://www.postgresql.org/message-id/51FB6703.9090801@2ndquadrant.com Thanks, I hadn't seen this, I should have checked the archives better. I have actually already updated my patch to handle EvalPlanQualFetch with NOWAIT and SKIP LOCKED with isolation specs, see attached. I will compare with Craig's and see if I screwed anything up... of course I am happy to merge and submit a new patch on top of Craig's if it's going to be committed. I haven't yet figured out how to get get into a situation where heap_lock_updated_tuple_rec waits. Best regards, Thomas Munro
Вложения
В списке pgsql-hackers по дате отправления: