Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
От | Andres Freund |
---|---|
Тема | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
Дата | |
Msg-id | 20210807190131.2bm24acbebl4wl6i@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
|
Список | pgsql-committers |
Hi, On 2021-08-07 09:48:50 -0700, Andres Freund wrote: > I'm somewhat inclined to split InitFileAccess() into two by separating out > InitTemporaryFileAccess() or such. InitFileAccess() would continue to happen > early and register a proc exit hook that errors out when there's a temp file > (as a backstop for non cassert builds). The new InitTemporaryFileAccess() > would happen a bit later and schedule CleanupTempFiles() to happen via > before_shmem_access(). And we add a Assert(!proc_exit_inprogress) to the > routines for opening a temp file. Attached is a patch showing how this could look like. Note that the PANIC should likely not be that but a WARNING, but the PANIC more useful for running some initial tests... I'm not sure whether we'd want to continue having the proc exit hook? It seems to me that asserts would provide a decent enough protection against introducing new temp files during shutdown. Alternatively we could make the asserts in OpenTemporaryFile et al elog(ERROR)s, and be pretty certain that no temp files would be open too late? Greetings, Andres Freund
Вложения
В списке pgsql-committers по дате отправления: