From: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Avoid early reuse of btree pages, causing incorrect query result |
Date: | 2012-06-01 11:47:56 |
Message-ID: | E1SaQKi-000774-Eb@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Avoid early reuse of btree pages, causing incorrect query results.
When we allowed read-only transactions to skip assigning XIDs
we introduced the possibility that a fully deleted btree page
could be reused. This broke the index link sequence which could
then lead to indexscans silently returning fewer rows than would
have been correct. The actual incidence of silent errors from
this is thought to be very low because of the exact workload
required and locking pre-conditions. Fix is to remove pages only
if index page opaque->btpo.xact precedes RecentGlobalXmin.
Noah Misch, reviewed and backpatched by Simon Riggs
Branch
------
REL8_4_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/46ceb398f09e0bd8427b73350d48e414f4372153
Modified Files
--------------
src/backend/access/nbtree/README | 10 ++++++----
src/backend/access/nbtree/nbtpage.c | 2 +-
2 files changed, 7 insertions(+), 5 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2012-06-01 12:00:40 | pgsql: Avoid early reuse of btree pages, causing incorrect query result |
Previous Message | Simon Riggs | 2012-06-01 11:39:30 | pgsql: Avoid early reuse of btree pages, causing incorrect query result |