pgsql: Restore lock level to update statusFlags

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Restore lock level to update statusFlags
Date: 2020-11-26 15:38:27
Message-ID: E1kiJLn-00034P-7b@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/dcfff74fb16622898a9d1df33e530f477caab095

Modified Files
--------------
src/backend/commands/vacuum.c | 20 +++++++++++---------
src/backend/replication/logical/logical.c | 2 +-
src/backend/storage/ipc/procarray.c | 8 +++-----
src/include/storage/proc.h | 6 +++---
4 files changed, 18 insertions(+), 18 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2020-11-27 02:22:52 pgsql: Fix replication of in-progress transactions in tablesync worker.
Previous Message Fujii Masao 2020-11-26 12:20:02 pgsql: pg_stat_statements: Track number of times pgss entries were deal