Standby got invalid primary checkpoint after crashed right after promoted.

Поиск
Список
Период
Сортировка
Искать
От
hao harry
Тема
Standby got invalid primary checkpoint after crashed right after promoted.
Дата
Msg-id
9EB4CF63-1107-470E-B5A4-061FB9EF8CC8@outlook.com
Список
Дерево обсуждения
Standby got invalid primary checkpoint after crashed right after promoted. hao harry <harry-hao@outlook.com>
Re: Standby got invalid primary checkpoint after crashed right after promoted. Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Standby got invalid primary checkpoint after crashed right after promoted. hao harry <harry-hao@outlook.com>
Re: Standby got invalid primary checkpoint after crashed right after promoted. Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Hi, pgsql-hackers,

I think I found a case that database is not recoverable, would you please give a look?

Here is how it happens:

- setup primary/standby
- do a lots INSERT at primary
- create a checkpoint at primary
- wait until standby start doing restart point, it take about 3mins syncing buffers to complete
- before the restart point update ControlFile, promote the standby, that changed ControlFile
  ->state to DB_IN_PRODUCTION, this will skip update to ControlFile, leaving the ControlFile
  ->checkPoint pointing to a removed file
- before the promoted standby request the post-recovery checkpoint (fast promoted), 
  one backend crashed, it will kill other server process, so the post-recovery checkpoint skipped
- the database restart startup process, which report: "could not locate a valid checkpoint record"

I attached a test to reproduce it, it does not fail every time, it fails every 10 times to me.
To increase the chance CreateRestartPoint skip update ControlFile and to simulate a crash,
the patch 0001 is needed.

Best Regard.

Harry Hao

В списке pgsql-hackers по дате отправления
От: Masahiko Sawada
Дата:
От: Michael Paquier
Дата:
FAQ