Re: Autovacuum launcher occurs error when cancelled by SIGINT

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Autovacuum launcher occurs error when cancelled by SIGINT
Date: 2017-06-22 04:12:48
Message-ID: CAB7nPqQMF45n5ZCVuGfuKfkj-z1bir3dU2qPg8yZUFHrGv2_8Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jun 21, 2017 at 9:15 PM, Yugo Nagata <nagata(at)sraoss(dot)co(dot)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.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-06-22 04:18:43 Re: Autovacuum launcher occurs error when cancelled by SIGINT
Previous Message Amit Langote 2017-06-22 04:04:58 Re: pgrowlocks relkind check