From e58f592431c296a24fb91c34658a0885b73cd347 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Tue, 8 Jun 2021 14:21:45 -0700 Subject: [PATCH] Assert that restart behavior happens once only. --- src/backend/access/heap/vacuumlazy.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index 4b600e951a..755ff62698 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -1698,6 +1698,7 @@ lazy_scan_prune(LVRelState *vacrel, int nfrozen; OffsetNumber deadoffsets[MaxHeapTuplesPerPage]; xl_heap_freeze_tuple frozen[MaxHeapTuplesPerPage]; + int restarts = 0; maxoff = PageGetMaxOffsetNumber(page); @@ -1798,7 +1799,11 @@ retry: res = HeapTupleSatisfiesVacuum(&tuple, vacrel->OldestXmin, buf); if (unlikely(res == HEAPTUPLE_DEAD)) + { + Assert(restarts == 0); + restarts++; goto retry; + } /* * The criteria for counting a tuple as live in this block need to -- 2.31.1