]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix off-by-one error in calculating subtrans/multixact truncation point.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 22 Jul 2015 22:30:09 +0000 (01:30 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 22 Jul 2015 22:30:09 +0000 (01:30 +0300)
commitb7551339dfde58682dfd9f32f6cea27491da6463
treea53dd3dab790ef05dde946cee0c8028a2f1a08cc
parentb6e7780346bae5fe07bd4631d355e692e1a8d006
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.
src/backend/access/transam/multixact.c
src/backend/access/transam/subtrans.c