Fix parallel amvacuumcleanup safety bug.
authorPeter Geoghegan
Wed, 3 Nov 2021 02:52:11 +0000 (19:52 -0700)
committerPeter Geoghegan
Wed, 3 Nov 2021 02:52:11 +0000 (19:52 -0700)
Commit b4af70cb inverted the return value of the function
parallel_processing_is_safe(), but missed the amvacuumcleanup test.
Index AMs that don't support parallel cleanup at all were affected.

The practical consequences of this bug were not very serious.  Hash
indexes are affected, but since they just return the number of blocks
during hashvacuumcleanup anyway, it can't have had much impact.

Author: Masahiko Sawada 
Discussion: https://postgr.es/m/CAD21AoA-Em+aeVPmBbL_s1V-ghsJQSxYL-i3JP8nTfPiD1wjKw@mail.gmail.com
Backpatch: 14-, where commit b4af70cb appears.

src/backend/access/heap/vacuumlazy.c

index bfb1ea0d25f7418377901f5acd5afb48422b81a2..716af22e5b33637cb33d2fbbabd532503b2bc3d1 100644 (file)
@@ -4116,7 +4116,7 @@ parallel_processing_is_safe(Relation indrel, LVShared *lvshared)
        /* Skip, if the index does not support parallel cleanup */
        if (((vacoptions & VACUUM_OPTION_PARALLEL_CLEANUP) == 0) &&
            ((vacoptions & VACUUM_OPTION_PARALLEL_COND_CLEANUP) == 0))
-           return true;
+           return false;
 
        /*
         * Skip, if the index supports parallel cleanup conditionally, but we