Re: Standby receiving part of missing WAL segment
От | Robert Haas |
---|---|
Тема | Re: Standby receiving part of missing WAL segment |
Дата | |
Msg-id | CA+TgmoZxu3tJo4WBGWVLZO1Xs7+i0nReoZJXdO7soN_Yv85XOQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Standby receiving part of missing WAL segment (Thom Brown <thom@linux.com>) |
Ответы |
Re: Standby receiving part of missing WAL segment
|
Список | pgsql-hackers |
On Wed, Feb 11, 2015 at 12:55 PM, Thom Brown <thom@linux.com> wrote: > Today I witnessed a situation which appears to have gone down like this: > > - The primary server starting streaming WAL data from segment 00A8 to the > standby > - The standby server started receiving that data > - Before 00A8 is finished, the wal sender process dies on the primary, but > the archiver process continues, and 00A8 ends up being archived as usual > - The primary continues to generate WAL and cleans up old WAL files from > pg_xlog until 00A8 is gone. > - The primary is restarted and the wal sender process is back up and running > - The standby says "waiting for 00A8", which it can no longer get from the > primary > - 00A8 is in the standby's archive directory, but the standby is waiting for > the rest of the segment from the primary via streaming replication, so > doesn't check the archive > - The standby is restarted > - The standby goes back into recovery and eventually replays 00A8 and > continues as normal. > > Should the standby be able to get feedback from the primary that the > requested segment is no longer available, and therefore know to check its > archive? Last time I played around with this, if the standby requested a segment from the master that was no longer present there, the standby would immediately get an ERROR, which it seems like would get you out of trouble. I wonder why that didn't happen in your case. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: