pgsql: Fix buffer pin leak in heap update redo routine.

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Fix buffer pin leak in heap update redo routine.
Дата
Msg-id E1UKwcV-0004Ai-NP@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix buffer pin leak in heap update redo routine.

In a heap update, if the old and new tuple were on different pages, and the
new page no longer existed (because it was subsequently truncated away by
vacuum), heap_xlog_update forgot to release the pin on the old buffer. This
bug was introduced by the "Fix multiple problems in WAL replay" patch,
commit 3bbf668de9f1bc172371681e80a4e769b6d014c8 (on master branch).

With full_page_writes=off, this triggered an "incorrect local pin count"
error later in replay, if the old page was vacuumed.

This fixes bug #7969, reported by Yunong Xiao. Backpatch to 9.0, like the
commit that introduced this bug.

Branch
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f4ecfbcaf046845b58c551184449e8e438d44c69

Modified Files
--------------
src/backend/access/heap/heapam.c |    4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)


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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: pgsql: Set recovery_config_directory for EXEC_BACKEND.
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix buffer pin leak in heap update redo routine.