]> granicus.if.org Git - postgresql/commit
Fix off-by-one error in calculating subtrans/multixact truncation point.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 22 Jul 2015 22:29:59 +0000 (01:29 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 22 Jul 2015 22:29:59 +0000 (01:29 +0300)
commit766dcfb16ca385274d510eaed01724bb3836efdd
tree99cee88ec981c2c5bba55f969097459558bba5d0
parent46d0a9bfac3d5221702318cc1cf119221d729c84
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