From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Moving responsibility for logging "database system is shut down" |
Date: | 2016-02-10 20:13:23 |
Message-ID: | 11800.1455135203@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
In our recent investigations of slow shutdown on some buildfarm members,
it became clear that "database system is shut down" can get logged many
seconds before the postmaster actually exits; the main cause of delay
is that the stats collector's final data dump can take awhile. This is
pretty confusing, IMO. I think that that message should only come out
once the postmaster has removed its pidfile, which is the action that
makes it look shut-down to "pg_ctl stop".
After some investigation it seems that the best place to do the logging
is right in UnlinkLockFiles(); that's called when and only when we need
a log message, and there doesn't seem to be a better place for it.
I considered putting the logging into proc_exit(), but then we would need
more logic to determine whether the type of process we're exiting is one
for which such a message should be printed. That seems messier.
I also considered moving the "shutting down" message that is currently
printed at the top of ShutdownXLOG(), but could not find any clearly
better place to do that than where it is.
So I propose the attached patch. Any objections? Should this get
back-patched? It's arguably a bug, though surely a minor one, that
the message comes out when it does.
regards, tom lane
Attachment | Content-Type | Size |
---|---|---|
move-shutdown-message-later.patch | text/x-diff | 1.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andreas 'ads' Scherbaum | 2016-02-10 20:36:46 | Re: pl/pgSQL, get diagnostics and big data |
Previous Message | Pavel Stehule | 2016-02-10 19:42:41 | Re: proposal: schema PL session variables |