Re: PostmasterContext survives into parallel workers!?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: PostmasterContext survives into parallel workers!?
Дата
Msg-id 21144.1470161191@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: PostmasterContext survives into parallel workers!?  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: PostmasterContext survives into parallel workers!?  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Mon, Aug 1, 2016 at 4:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Now, I'm undecided whether to flush that context only in parallel workers,
>> or to try to make it go away for all bgworkers of any stripe.  The latter
>> seems a little better from a security standpoint, but I wonder if anyone
>> has a use-case where that'd be a bad idea?

> I think it would be better to get rid of it in all bgworkers.

I looked into this, and immediately found this in the spot in postmaster.c
that would be the obvious place to kill the PostmasterContext:
           /* Do NOT release postmaster's working memory context */
           MyBgworkerEntry = &rw->rw_worker;           StartBackgroundWorker();

This comment was in Alvaro's original commit adding bgworkers (da07a1e8).
It looks to me like the reason for it is simply not having bothered to
copy the rw->rw_worker data to somewhere that would survive deletion
of the PostmasterContext.  I wonder though if anyone remembers a more
fundamental reason?  Surely the bgworker is not supposed to touch any
of the rest of the BackgroundWorkerList?
        regards, tom lane



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

Предыдущее
От: Shay Rojansky
Дата:
Сообщение: Re: Slowness of extended protocol
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: PostgreSQL 10 kick-off