Revert the commits related to allowing page lock to conflict among parallel group...
authorAmit Kapila <akapila@postgresql.org>
Thu, 6 Jul 2023 03:22:10 +0000 (08:52 +0530)
committerAmit Kapila <akapila@postgresql.org>
Thu, 6 Jul 2023 03:22:10 +0000 (08:52 +0530)
commitcc32ec24fdf3b9808617439d41b0ba7f3eb16b04
tree2495d9c8e62774056ba48cc9f95f919fbb1ec2f5
parentae6d06f09684d8f8a7084514c9b35a274babca61
Revert the commits related to allowing page lock to conflict among parallel group members.

This commit reverts the work done by commits 3ba59ccc89 and 72e78d831a.
Those commits were incorrect in asserting that we never acquire any other
heavy-weight lock after acquring page lock other than relation extension
lock. We can acquire a lock on catalogs while doing catalog look up after
acquring page lock.

This won't impact any existing feature but we need to think some other way
to achieve this before parallelizing other write operations or even
improving the parallelism in vacuum (like allowing multiple workers
for an index).

Reported-by: Jaime Casanova
Author: Amit Kapila
Backpatch-through: 13
Discussion: https://postgr.es/m/CAJKUy5jffnRKNvRHKQ0LynRb0RJC-o4P8Ku3x9vGAVLwDBWumQ@mail.gmail.com
src/backend/optimizer/plan/planner.c
src/backend/storage/lmgr/README
src/backend/storage/lmgr/deadlock.c
src/backend/storage/lmgr/lock.c
src/backend/storage/lmgr/proc.c