Re: BUG #15804: Assertion failure when using logging_collector withEXEC_BACKEND

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: BUG #15804: Assertion failure when using logging_collector withEXEC_BACKEND
Дата
Msg-id 20190516043618.GD1415@paquier.xyz
обсуждение исходный текст
Ответ на Re: BUG #15804: Assertion failure when using logging_collector withEXEC_BACKEND  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On Thu, May 16, 2019 at 12:56:17PM +0900, Michael Paquier wrote:
> The test is able to pass, but we have a race condition between the
> moment the backend file gets saved and the moment we allow it to be
> read.   I have not spent much time checking the stack between
> InitializeMaxBackends() and RemovePgTempFiles() in postmaster.c, but
> 57431a9 triggers the failure.

Oh, I think I got it.  The issue is that we call RemovePgTempFiles()
after starting the syslogger.  This cannot be run with other processes
running in parallel, and with EXEC_BACKEND there is the extra case
where we have a pgsql_tmp/ at the root of the data folder, so the
syslogger complains on that.  By making RemovePgTempFiles() happen
before starting the syslogger, then the test complains again about the
assertion without my previous patch applied of course.  With the patch
applied, I get no complains.
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #15804: Assertion failure when using logging_collector withEXEC_BACKEND
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND