pgsql: Improve truncation of pg_serial/, removing "apparent wraparound"

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема pgsql: Improve truncation of pg_serial/, removing "apparent wraparound"
Дата
Msg-id E1qsclb-000xFC-AZ@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Improve truncation of pg_serial/, removing "apparent wraparound" LOGs

It is possible that the tail XID of pg_serial/ gets ahead of its head
XID, which would cause the truncation of pg_serial/ done during
checkpoints to show up as a "wraparound" LOG in SimpleLruTruncate(),
which is confusing.  This also wastes a bit of disk space until the head
page is reclaimed again.

CheckPointPredicate() is changed so as the cutoff page for the
truncation is switched to the head page if the tail XID has advanced
beyond the head XID, rather than the tail page.  This prevents the
confusing LOG message about a wraparound while allowing some truncation
to be done to cut in disk space.

This could be considered as a bug fix, but the original behavior is
harmless as well, resulting only in disk space temporarily wasted, so
no backpatch is done.

Author: Sami Imseih
Reviewed-by: Heikki Linnakangas, Michael Paquier
Discussion: https://postgr.es/m/755E19CA-D02C-4A4C-80D3-74F775410C48@amazon.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d6b0c2bcb1b604e919b15a32c1aeb981bfae4d51

Modified Files
--------------
src/backend/storage/lmgr/predicate.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)


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

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Run 006_login_trigger.pl only with Unix-domain sockets
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Talk about assigning, rather than generating, new MultiXactIds.