Re: WAL format changes break the suppression of do-nothing checkpoints.

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: WAL format changes break the suppression of do-nothing checkpoints.
Дата
Msg-id 551A9EFE.5080702@iki.fi
обсуждение исходный текст
Ответ на WAL format changes break the suppression of do-nothing checkpoints.  (Jeff Janes <jeff.janes@gmail.com>)
Список pgsql-hackers
On 03/30/2015 09:01 PM, Jeff Janes wrote:
> commit 2c03216d831160bedd72d45f7 has invalidated the part of the docs
> saying "If no WAL has been written since the previous checkpoint, new
> checkpoints will be skipped even if checkpoint_timeout has passed",
> presumably by accident.
>
> It seems that this part is no longer true when it should be true:
>
>          if (curInsert == ControlFile->checkPoint +
>              MAXALIGN(SizeOfXLogRecord + sizeof(CheckPoint))
>
> MAXALIGN(SizeOfXLogRecord + sizeof(CheckPoint) is now 96, but the amount by
> which curInsert gets advanced is still 104, like it was before the commit.

Hmm. Wasn't this a bit broken before too, when the checkpoint record 
crosses a page boundary?

Instead of trying to calculate where the checkpoint record ends, I think 
we could check that the prev-pointer points to the last checkpoint record.

- Heikki




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

Предыдущее
От: Fabrízio de Royes Mello
Дата:
Сообщение: Re: Doubt about AccessExclusiveLock in ALTER TABLE .. SET ( .. );
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: INSERT ... ON CONFLICT IGNORE (and UPDATE) 3.0