Re: BUG #3843: archiver process is restarted after the smart shutdown

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: BUG #3843: archiver process is restarted after the smart shutdown
Дата
Msg-id 1198754846.4221.318.camel@ebony.site
обсуждение исходный текст
Ответ на BUG #3843: archiver process is restarted after the smart shutdown  ("" <fujii.masao@oss.ntt.co.jp>)
Ответы Re: BUG #3843: archiver process is restarted after the smart shutdown  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
On Thu, 2007-12-27 at 09:41 +0000, fujii.masao@oss.ntt.co.jp wrote:
> The following bug has been logged online:
>
> Bug reference:      3843
> Logged by:
> Email address:      fujii.masao@oss.ntt.co.jp
> PostgreSQL version: 8.3beta4
> Operating system:   RHEL5
> Description:        archiver process is restarted after the smart shutdown
> Details:
>
> Is this a bug though archiver process is restarted after the smart
> shutdown?
>  BTW, the archiver process ends after a few minutes.
>
>
>  [postgresql.conf]
>  archive_mode = on
>  archive_command = 'cp %p ../arch/%f'
>
>  $ pg_ctl start
>  ...
>  $ pgrep -fl postgres
>  22781 /home/postgres/bin/postgres
>  22783 postgres: writer process
>  22784 postgres: wal writer process
>  22785 postgres: autovacuum launcher process
>  22786 postgres: archiver process
>  22787 postgres: stats collector process
>  $ pg_ctl stop   (*1)
>  ...
>  $ pgrep -fl postgres
>  23579 postgres: archiver process
>
>
>  (*1)
>  It's easy to reproduce waiting between a few seconds
>  for pg_ctl start and stop in this problem.

Code says

/*
 * If we have lost the archiver, try to start a new one. We do this
 * even if we are shutting down, to allow archiver to take care of any
 * remaining WAL files.
 */

The previous behaviour was to shut down even when there were WAL files
needing to be archived, which was considered an issue by many.

I notice that when we re-enter the archiver in this way that we may end
up waiting a full minute before we eventually shutdown because of the
normal wait in the archive loop.

If there are no objections, I will add an extra condition to the wait,
so that we wait if
    while (!(wakened || got_SIGHUP) && PostmasterIsAlive(true))
rather than just
    while (!(wakened || got_SIGHUP))

This runs getppid() once per second, so shouldn't be an overhead.

--
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com

В списке pgsql-bugs по дате отправления:

Предыдущее
От: ""
Дата:
Сообщение: BUG #3843: archiver process is restarted after the smart shutdown
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Server does not start when log_statement_stats is set to on