From: | Heikki Linnakangas <heikki(dot)linnakangas(at)iki(dot)fi> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Fix off-by-one error in calculating subtrans/multixact truncatio |
Date: | 2015-07-22 22:31:44 |
Message-ID: | E1ZI2YC-0001xK-Fc@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Fix off-by-one error in calculating subtrans/multixact truncation point.
If there were no subtransactions (or multixacts) active, we would calculate
the oldestxid == next xid. That's correct, but if next XID happens to be
on the next pg_subtrans (pg_multixact) page, the page does not exist yet,
and SimpleLruTruncate will produce an "apparent wraparound" warning. The
warning is harmless in this case, but looks very alarming to users.
Backpatch to all supported versions. Patch and analysis by Thomas Munro.
Branch
------
REL9_2_STABLE
Details
-------
http://git.postgresql.org/pg/commitdiff/84330d0c1fd3dd76f95ce82dd5856a9de52b5b23
Modified Files
--------------
src/backend/access/transam/multixact.c | 14 ++++++++++----
src/backend/access/transam/subtrans.c | 7 ++++++-
src/include/access/multixact.h | 1 +
3 files changed, 17 insertions(+), 5 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2015-07-23 07:19:42 | Re: pgsql: This routine was calling ecpg_alloc to allocate to memory but di |
Previous Message | Tom Lane | 2015-07-22 00:04:09 | pgsql: Fix add_rte_to_flat_rtable() for recent feature additions. |