Re: backend hangs at immediate shutdown (Re: Back-branch update releases coming in a couple weeks)
MauMau <maumau307@gmail.com>
From: "MauMau" <maumau307@gmail.com>
To: "Tom Lane" <tgl@sss.pgh.pa.us>, "Andres Freund" <andres@2ndquadrant.com>
Cc: "Peter Eisentraut" <peter_e@gmx.net>, <pgsql-hackers@postgreSQL.org>
Date: 2013-02-07T15:00:50Z
Lists: pgsql-hackers
Attachments
- reliable_immediate_shutdown.patch (application/octet-stream) patch
Hello, Tom-san, folks, From: "Tom Lane" <tgl@sss.pgh.pa.us> > I think if we want to make it bulletproof we'd have to do what the > OP suggested and switch to SIGKILL. I'm not enamored of that for the > reasons I mentioned --- but one idea that might dodge the disadvantages > is to have the postmaster wait a few seconds and then SIGKILL any > backends that hadn't exited. > > I think if we want something that's actually trustworthy, the > wait-and-then-kill logic has to be in the postmaster. I'm sorry to be late to submit a patch. I made a fix according to the above comment. Unfortunately, it was not in time for 9.1.8 release... I hope this patch will be included in 9.1.9. Could you review the patch? The summary of the change is: 1. postmaster waits for children to terminate when it gets an immediate shutdown request, instead of exiting. 2. postmaster sends SIGKILL to remaining children if all of the child processes do not terminate within 10 seconds since the start of immediate shutdown or FatalError condition. 3. On Windows, kill(SIGKILL) calls TerminateProcess(). 4. Documentation change to describe the behavior of immediate shutdown. Regards MauMau
Commits
-
Consistency check should compare last record replayed, not last record read.
- 970fb12de121 9.3.0 cited
-
Update minimum recovery point on truncation.
- 7bffc9b7bf9e 9.3.0 cited