Restore lock level to update statusFlags
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 26 Nov 2020 15:30:48 +0000 (12:30 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 26 Nov 2020 15:30:48 +0000 (12:30 -0300)
commitdcfff74fb16622898a9d1df33e530f477caab095
tree851a9e6824a4baa42c5355397f57c3196b09f6a5
parent9fbc3f318d039c3e1e8614c38e40843cf8fcffde
Restore lock level to update statusFlags

Reverts 27838981be9d (some comments are kept).  Per discussion, it does
not seem safe to relax the lock level used for this; in order for it to
be safe, there would have to be memory barriers between the point we set
the flag and the point we set the trasaction Xid, which perhaps would
not be so bad; but there would also have to be barriers at the readers'
side, which from a performance perspective might be bad.

Now maybe this analysis is wrong and it *is* safe for some reason, but
proof of that is not trivial.

Discussion: https://postgr.es/m/20201118190928.vnztes7c2sldu43a@alap3.anarazel.de
src/backend/commands/vacuum.c
src/backend/replication/logical/logical.c
src/backend/storage/ipc/procarray.c
src/include/storage/proc.h