Skip to content

Commit c978738

Browse files
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 7136bf3, which added the assertion in passing. Author: Masahiko Sawada <sawada.mshk@gmail.com> Reported-By: Tang <tanghy.fnst@fujitsu.com> Diagnosed-By:: Masahiko Sawada <sawada.mshk@gmail.com> Discussion: https://postgr.es/m/CAD21AoDzgc8_MYrA5m1fyydomw_eVKtQiYh7sfDK4KEhdMsf_g@mail.gmail.com
1 parent 3fe773b commit c978738

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

src/backend/access/heap/vacuumlazy.c

-1
Original file line numberDiff line numberDiff line change
@@ -1344,7 +1344,6 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
13441344
lazy_scan_prune(vacrel, buf, blkno, page, vistest, &prunestate);
13451345

13461346
Assert(!prunestate.all_visible || !prunestate.has_lpdead_items);
1347-
Assert(!all_visible_according_to_vm || prunestate.all_visible);
13481347

13491348
/* Remember the location of the last page with nonremovable tuples */
13501349
if (prunestate.hastup)

0 commit comments

Comments
 (0)