Re: Hot standby, recovery infra

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Hot standby, recovery infra
Дата
Msg-id 1233154068.2327.2385.camel@ebony.2ndQuadrant
обсуждение исходный текст
Ответ на Re: Hot standby, recovery infra  (Fujii Masao <masao.fujii@gmail.com>)
Ответы Re: Hot standby, recovery infra  (Fujii Masao <masao.fujii@gmail.com>)
Список pgsql-hackers
On Wed, 2009-01-28 at 23:19 +0900, Fujii Masao wrote:

> > @@ -355,6 +359,27 @@ BackgroundWriterMain(void)
> >       */
> >      PG_SETMASK(&UnBlockSig);
> >
> > +    BgWriterRecoveryMode = IsRecoveryProcessingMode();
> > +
> > +    if (BgWriterRecoveryMode)
> > +        elog(DEBUG1, "bgwriter starting during recovery");
> > +    else
> > +        InitXLOGAccess();
> 
> Why is InitXLOGAccess() called also here when bgwriter is started after
> recovery? That is already called by AuxiliaryProcessMain().

InitXLOGAccess() sets the timeline and also gets the latest record
pointer. If the bgwriter is started in recovery these values need to be
reset later. It's easier to call it twice.

> > @@ -1302,7 +1314,7 @@ ServerLoop(void)
> >           * state that prevents it, start one.  It doesn't matter if this
> >           * fails, we'll just try again later.
> >           */
> > -        if (BgWriterPID == 0 && pmState == PM_RUN)
> > +        if (BgWriterPID == 0 && (pmState == PM_RUN || pmState == PM_RECOVERY))
> >              BgWriterPID = StartBackgroundWriter();
> 
> Likewise, we should try to start also the stats collector during recovery?

We did in the previous patch...

> > @@ -2103,7 +2148,8 @@ XLogFileInit(uint32 log, uint32 seg,
> >          unlink(tmppath);
> >      }
> >
> > -    elog(DEBUG2, "done creating and filling new WAL file");
> > +    XLogFileName(tmppath, ThisTimeLineID, log, seg);
> > +    elog(DEBUG2, "done creating and filling new WAL file %s", tmppath);
> 
> This debug message is somewhat confusing, because the WAL file
> represented as "tmppath" might have been already created by
> previous XLogFileInit() via InstallXLogFileSegment().

I think those are just for debugging and can be removed.

-- Simon Riggs           www.2ndQuadrant.comPostgreSQL Training, Services and Support



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

Предыдущее
От: KaiGai Kohei
Дата:
Сообщение: Re: How to get SE-PostgreSQL acceptable
Следующее
От: Robert Haas
Дата:
Сообщение: Re: How to get SE-PostgreSQL acceptable