Question about UpdateFullPageWrites() at the end of recovery.
От | Masahiko Sawada |
---|---|
Тема | Question about UpdateFullPageWrites() at the end of recovery. |
Дата | |
Msg-id | CAD21AoDHPFZrbbyKN3byLgqRJcONh3qu5Pn=uqOfDUH62Dp2Rw@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Question about UpdateFullPageWrites() at the end of recovery.
|
Список | pgsql-hackers |
Hi, I have a question about the comment of UpdateFullPageWrites() called at the end of recovery (in StartupXLOG()): /* * Update full_page_writes in shared memory and write an XLOG_FPW_CHANGE * record before resource manager writes cleanup WAL records or checkpoint * record is written. */ Insert->fullPageWrites = lastFullPageWrites; UpdateFullPageWrites(); The comment says that it expects to write an XLOG_FPW_CHANGE record there but that record is not actually written as it's still in recovery (i.e., RecoveryInProgress() still returns true). Which seems inconsistent. Even if we replay XLOG_FPW_CHANGE during the recovery, we just change the lastFullPageWrites, and at the end of the recovery, we anyway set the value of full_page_writes in the config file to Insert->fullPageWrites before accepting writes. Also, the full-page-write state on the standby doesn't affect taking backups on standby as we forcibly enable full-page-writes during taking a backup. So I thought it would not be a problem even if we don't write XLOG_FPW_CHANGE there, but I might be missing something. Should we revise the comment? or change the code so it can write that record? Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: