Re: [PATCH] lock_timeout and common SIGALRM framework
| От | Boszormenyi Zoltan |
|---|---|
| Тема | Re: [PATCH] lock_timeout and common SIGALRM framework |
| Дата | |
| Msg-id | 4F951890.9040006@cybertec.at обсуждение исходный текст |
| Ответ на | Re: [PATCH] lock_timeout and common SIGALRM framework (Boszormenyi Zoltan <zb@cybertec.at>) |
| Ответы |
Re: [PATCH] lock_timeout and common SIGALRM framework
|
| Список | pgsql-hackers |
2012-04-10 09:02 keltezéssel, Boszormenyi Zoltan írta: > 2012-04-06 14:47 keltezéssel, Cousin Marc írta: >> On 05/04/12 08:02, Boszormenyi Zoltan wrote: >>> 2012-04-04 21:30 keltezéssel, Alvaro Herrera írta: >>>> I think this patch is doing two things: first touching infrastructure >>>> stuff and then adding lock_timeout on top of that. Would it work to >>>> split the patch in two pieces? >>>> >>> Sure. Attached is the split version. >>> >>> Best regards, >>> Zoltán Böszörményi >>> >> Hi, >> >> I've started looking at and testing both patches. >> >> Technically speaking, I think the source looks much better than the >> first version of lock timeout, and may help adding other timeouts in the >> future. I haven't tested it in depth though, because I encountered the >> following problem: >> >> While testing the patch, I found a way to crash PG. But what's weird is >> that it crashes also with an unpatched git version. >> >> Here is the way to reproduce it (I have done it with a pgbench schema): >> >> - Set a small statement_timeout (just to save time during the tests) >> >> Session1: >> =#BEGIN; >> =#lock TABLE pgbench_accounts ; >> >> Session 2: >> =#BEGIN; >> =#lock TABLE pgbench_accounts ; >> ERROR: canceling statement due to statement timeout >> =# lock TABLE pgbench_accounts ; >> >> I'm using \set ON_ERROR_ROLLBACK INTERACTIVE by the way. It can also be >> done with a rollback to savepoint of course. >> >> Session 2 crashes with this : TRAP : FailedAssertion(« >> !(locallock->holdsStrongLockCount == 0) », fichier : « lock.c », ligne : >> 749). >> >> It can also be done without a statement_timeout, and a control-C on the >> second lock table. >> >> I didn't touch anything but this. It occurs everytime, when asserts are >> activated. >> >> I tried it on 9.1.3, and I couldn't make it crash with the same sequence >> of events. So maybe it's something introduced since ? Or is the assert >> still valid ? >> >> Cheers >> > > Attached are the new patches. I rebased them to current GIT and > they are expected to be applied after Robert Haas' patch in the > "bug in fast-path locking" thread. > > Now it survives the above scenario. > > Best regards, > Zoltán Böszörményi New patch attached, rebased to today's GIT. Best regards, Zoltán Böszörményi -- ---------------------------------- Zoltán Böszörményi Cybertec Schönig& Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt, Austria Web: http://www.postgresql-support.de http://www.postgresql.at/
Вложения
В списке pgsql-hackers по дате отправления: