Commit c9787385 authored by Peter Geoghegan's avatar Peter Geoghegan

Remove overzealous VACUUM visibility map assertion.

The all_visible_according_to_vm variable's value is inherently prone to
becoming invalidated concurrently, since it is set before we even
acquire a lock on a related heap page buffer.

Oversight in commit 7136bf34, which added the assertion in passing.

Author: Masahiko Sawada <sawada.mshk@gmail.com>
Reported-By: default avatarTang <tanghy.fnst@fujitsu.com>
Diagnosed-By: default avatar: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/CAD21AoDzgc8_MYrA5m1fyydomw_eVKtQiYh7sfDK4KEhdMsf_g@mail.gmail.com
parent 3fe773b1
...@@ -1344,7 +1344,6 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive) ...@@ -1344,7 +1344,6 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
lazy_scan_prune(vacrel, buf, blkno, page, vistest, &prunestate); lazy_scan_prune(vacrel, buf, blkno, page, vistest, &prunestate);
Assert(!prunestate.all_visible || !prunestate.has_lpdead_items); Assert(!prunestate.all_visible || !prunestate.has_lpdead_items);
Assert(!all_visible_according_to_vm || prunestate.all_visible);
/* Remember the location of the last page with nonremovable tuples */ /* Remember the location of the last page with nonremovable tuples */
if (prunestate.hastup) if (prunestate.hastup)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment