From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
Date: | 2021-08-07 19:01:31 |
Message-ID: | 20210807190131.2bm24acbebl4wl6i@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
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
Attachment | Content-Type | Size |
---|---|---|
file-access.diff | text/x-diff | 6.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-08-07 19:12:38 | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
Previous Message | Andres Freund | 2021-08-07 18:51:41 | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-08-07 19:12:38 | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
Previous Message | Andres Freund | 2021-08-07 18:51:41 | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |