Revert the commits related to allowing page lock to conflict among parallel group...
authorAmit Kapila
Thu, 6 Jul 2023 03:11:30 +0000 (08:41 +0530)
committerAmit Kapila
Thu, 6 Jul 2023 03:11:30 +0000 (08:41 +0530)
commit3c1adbbf86c2cfa44ebed64bd01ed589ad0b832b
tree2b141de0dbdc1a9f9ae5827a6018648f4c624c43
parentdc0b5841746c025f6e51b0a6ba0e423b2ac518f0
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