mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-23 19:39:53 +08:00
Remove overzealous VACUUM failsafe assertions.
The failsafe can trigger when index processing is already disabled.
This can happen when VACUUM's INDEX_CLEANUP parameter is "off" and the
failsafe happens to trigger. Remove assertions that assume that index
processing is directly tied to the failsafe.
Oversight in commit c242baa4
, which made it possible for the failsafe to
trigger in a two-pass strategy VACUUM that has yet to make its first
call to lazy_vacuum_all_indexes().
This commit is contained in:
parent
9679517681
commit
e8f201ab82
@ -1162,7 +1162,8 @@ lazy_scan_heap(LVRelState *vacrel, VacuumParams *params, bool aggressive)
|
||||
* There is a similar check inside lazy_vacuum_all_indexes(), but
|
||||
* relfrozenxid might start to look dangerously old before we reach
|
||||
* that point. This check also provides failsafe coverage for the
|
||||
* one-pass strategy case.
|
||||
* one-pass strategy, and the two-pass strategy with the index_cleanup
|
||||
* param set to 'off'.
|
||||
*/
|
||||
if (blkno - next_failsafe_block >= FAILSAFE_EVERY_PAGES)
|
||||
{
|
||||
@ -2611,9 +2612,6 @@ lazy_check_wraparound_failsafe(LVRelState *vacrel)
|
||||
if (unlikely(vacuum_xid_failsafe_check(vacrel->relfrozenxid,
|
||||
vacrel->relminmxid)))
|
||||
{
|
||||
Assert(vacrel->do_index_vacuuming);
|
||||
Assert(vacrel->do_index_cleanup);
|
||||
|
||||
vacrel->failsafe_active = true;
|
||||
|
||||
/* Disable index vacuuming, index cleanup, and heap rel truncation */
|
||||
|
Loading…
Reference in New Issue
Block a user