pgsql: Fix rare dsa_allocate() failures due to freepage.c corruption.

Поиск
Список
Период
Сортировка
От Thomas Munro
Тема pgsql: Fix rare dsa_allocate() failures due to freepage.c corruption.
Дата
Msg-id E1gtijW-0000Ts-Fn@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix rare dsa_allocate() failures due to freepage.c corruption.

In a corner case, a btree page was allocated during a clean-up operation
that could cause the tracking of the largest contiguous span of free
space to get out of whack.  That was supposed to be prevented by the use
of the "soft" flag to avoid allocating internal pages during incidental
clean-up work, but the flag was ignored in the case where the FPM was
promoted from singleton format to btree format.  Repair.

Remove an obsolete comment in passing.

Back-patch to 10, where freepage.c arrived (as support for dsa.c).

Author: Robert Haas
Diagnosed-by: Thomas Munro and Robert Haas
Reported-by: Justin Pryzby, Rick Otten, Sand Stone, Arne Roland and others
Discussion: https://postgr.es/m/CAMAYy4%2Bw3NTBM5JLWFi8twhWK4%3Dk_5L4nV5%2BbYDSPu8r4b97Zg%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/7215efdc005e694ec93678a6203dbfc714d12809

Modified Files
--------------
src/backend/utils/mmgr/freepage.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Clean up planner confusion between ncolumns and nkeycolumns.
Следующее
От: Thomas Munro
Дата:
Сообщение: pgsql: Fix rare dsa_allocate() failures due to freepage.c corruption.