Re: Autovacuum launcher occurs error when cancelled by SIGINT
Yugo Nagata <nagata@sraoss.co.jp>
From: Yugo Nagata <nagata@sraoss.co.jp>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2017-06-22T04:58:38Z
Lists: pgsql-hackers
On Thu, 22 Jun 2017 13:12:48 +0900 Michael Paquier <michael.paquier@gmail.com> wrote: > On Wed, Jun 21, 2017 at 9:15 PM, Yugo Nagata <nagata@sraoss.co.jp> wrote: > > This errors continue until this process is terminated or the server is restarted. > > > > When SIGINT is issued, the process exits from the main loop and returns > > to sigsetjmp, and calls dsa_attach() before entering into the loop again, > > this causes the error. > > > > We can fix it by calling dsa_attach() before sigsetjmp. Attached is the patch. > > Your fix looks like a bad idea to me. If the shared memory area does > not exist after an exception occurred the process should be able to > re-attach to the shared memory area if it exists or create a new one > if that's not the case. That should not be a one-time execution. Thank you for your comment. I overlooked it and now I understand it. > -- > Michael -- Yugo Nagata <nagata@sraoss.co.jp>
Commits
-
Fix autovacuum launcher attachment to its DSA
- a4f06606a328 10.0 landed