Re: Death by regexp_replace
От | Jan de Visser |
---|---|
Тема | Re: Death by regexp_replace |
Дата | |
Msg-id | 5699107C.8000705@de-visser.net обсуждение исходный текст |
Ответ на | Re: Death by regexp_replace (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
On 2016-01-15 10:25 AM, Robert Haas wrote: > On Fri, Jan 15, 2016 at 10:12 AM, Benedikt Grundmann > <bgrundmann@janestreet.com> wrote: >> Today we discovered that we had a backend whose client had gone away, the >> automatic query watching process had send both pg_cancel and >> pg_terminate_backend but nevertheless the process was sitting there >> consuming resources and had been for over 1 day... >> >> gdb revealed that we were sitting in pg_regexec (we forced it to return 16 >> aka invalid regex to return our system into a good state). >> >> Here is the regular expression and the text to run on: >> >> WARNING DO NOT DO THIS ON A PRODUCTION BOX >> >> select regexp_replace('VODI GR,VOD LN,VOD LN,VODN MM,VODPF US,VOD US,VZC >> LN', '([^,]+)(,*\1)+', '\1'); >> >> This was in postgres 9.2 > 9.2.what? Tom just fixed a whole bunch of bugs in this area, so if > you're running less than 9.2.14, please test whether this can be > reproduced with that version. > I just tried this on 9.4.5 (stock Ubuntu 15.10 release), waited a minute and killed the backend.
В списке pgsql-hackers по дате отправления: