Re: Coding in WalSndWaitForWal

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: Coding in WalSndWaitForWal
Дата
Msg-id CAA4eK1L+U4J32h7_=4cWWMR1L7qPoXi9C+VhQRimbC3jEzL0wg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Coding in WalSndWaitForWal  (Andres Freund <andres@anarazel.de>)
Ответы Re: Coding in WalSndWaitForWal
Список pgsql-hackers
On Wed, Nov 13, 2019 at 12:57 AM Andres Freund <andres@anarazel.de> wrote:
>
> On 2019-11-11 13:53:40 -0300, Alvaro Herrera wrote:
>
> >       /* Get a more recent flush pointer. */
> >       if (!RecoveryInProgress())
> >               RecentFlushPtr = GetFlushRecPtr();
> >       else
> >               RecentFlushPtr = GetXLogReplayRecPtr(NULL);
> >
> > +     if (loc <= RecentFlushPtr)
> > +     {
> > +             SetLatch(MyLatch);
> > +             return RecentFlushPtr;
> > +     }
>
> Hm. I'm doubtful this is a good idea - it essentially means we'd not
> check for interrupts, protocol replies, etc. for an unbounded amount of
> time.
>

I think this function (WalSndWaitForWal) will be called from
WalSndLoop which checks for interrupts and protocol replies, so it
might not miss checking those things in that context.  In which case
it will miss to check those things for an unbounded amount of time?

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



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

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: pg_waldump and PREPARE
Следующее
От: Amit Kapila
Дата:
Сообщение: Re: PHJ file leak.