Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix parallel amvacuumcleanup safety bug.
authorPeter Geoghegan <pg@bowt.ie>
Wed, 3 Nov 2021 02:52:10 +0000 (19:52 -0700)
committerPeter Geoghegan <pg@bowt.ie>
Wed, 3 Nov 2021 02:52:10 +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 <sawada.mshk@gmail.com>
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 13264007261b9763cd069c32e175d8aef4bd46f3..24fa72983c191b3f4f29d7c98e8101b4a9bb416d 100644 (file)
@@ -4120,7 +4120,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