Re: Is there any problem with pg_notify and memory consumption?

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Is there any problem with pg_notify and memory consumption?
Дата
Msg-id BANLkTinzPfGGT+SPmpsroNRN73B3ZZskeg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Is there any problem with pg_notify and memory consumption?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Is there any problem with pg_notify and memory consumption?
Список pgsql-general
On Fri, May 27, 2011 at 4:28 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Hah, I replicated the problem.  Here is what's going on: the main loop
> in PostgresMain is intended to do its work in MessageContext.  But if
> ProcessCompletedNotifies does any work, it exits with
> CurrentMemoryContext having been reset to TopMemoryContext during
> transaction commit.  This means any memory that the main loop doesn't
> bother to explicitly free during the next command cycle will get leaked.
> The reason we haven't noticed this seems to be that the only case where
> any such memory does get leaked is if we have to do encoding conversion
> on the incoming command.  Also, the bug has only been there since 9.0.
>
> I think the right fix is to make sure that ProcessCompletedNotifies
> saves and restores the call-time CurrentMemoryContext.

Can we put a WARNING in there if we try to commit while in TopMemoryContext?

That way we'll trap any future leaks in core/add-on code.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

В списке pgsql-general по дате отправления:

Предыдущее
От: Merlin Moncure
Дата:
Сообщение: Re: copy record?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Is there any problem with pg_notify and memory consumption?