summaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeIndexscan.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2015-06-19 11:28:30 -0400
committerRobert Haas <rhaas@postgresql.org>2015-06-19 11:38:46 -0400
commit6199b1f90c5c3b800fa4d647e333c194ae4ee933 (patch)
tree92bcdfc2d77e82e5e34186c4346ecd687f7d8ec6 /src/backend/executor/nodeIndexscan.c
parent4130b2c1fdbe71838baba00312b8ca599b62f98d (diff)
Fix corner case in autovacuum-forcing logic for multixact wraparound.
Since find_multixact_start() relies on SimpleLruDoesPhysicalPageExist(), and that function looks only at the on-disk state, it's possible for it to fail to find a page that exists in the in-memory SLRU that has not been written yet. If that happens, SetOffsetVacuumLimit() will erroneously decide to force emergency autovacuuming immediately. We should probably fix find_multixact_start() to consider the data cached in memory as well as on the on-disk state, but that's no excuse for SetOffsetVacuumLimit() to be stupid about the case where it can no longer read the value after having previously succeeded in doing so. Report by Andres Freund.
Diffstat (limited to 'src/backend/executor/nodeIndexscan.c')
0 files changed, 0 insertions, 0 deletions