Thread: pgsql: Resolve timing issue with logging locks for Hot Standby.

pgsql: Resolve timing issue with logging locks for Hot Standby.

From
Simon Riggs
Date:
Resolve timing issue with logging locks for Hot Standby.
We log AccessExclusiveLocks for replay onto standby nodes,
but because of timing issues on ProcArray it is possible to
log a lock that is still held by a just committed transaction
that is very soon to be removed. To avoid any timing issue we
avoid applying locks made by transactions with InvalidXid.

Simon Riggs, bug report Tom Lane, diagnosis Pavan Deolasee

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/a286b6f6c7f6b327fad2a7081d7df88a4c83ce11

Modified Files
--------------
src/backend/storage/ipc/procarray.c |    8 +--
src/backend/storage/ipc/standby.c   |  110 ++++++++++++++++++++++++-----------
src/backend/storage/lmgr/lock.c     |   12 ++++-
src/include/storage/standby.h       |    2 +-
4 files changed, 88 insertions(+), 44 deletions(-)