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 по дате отправления: