postgresql/src/backend/access
Simon Riggs 15378c1a15 Remove AELs from subxids correctly on standby
Issues relate only to subtransactions that hold AccessExclusiveLocks
when replayed on standby.

Prior to PG10, aborting subtransactions that held an
AccessExclusiveLock failed to release the lock until top level commit or
abort. 49bff5300d fixed that.

However, 49bff5300d also introduced a similar bug where subtransaction
commit would fail to release an AccessExclusiveLock, leaving the lock to
be removed sometimes early and sometimes late. This commit fixes
that bug also. Backpatch to PG10 needed.

Tested by observation. Note need for multi-node isolationtester to improve
test coverage for this and other HS cases.

Reported-by: Simon Riggs
Author: Simon Riggs
2018-06-16 14:03:29 +01:00
..
brin Fail BRIN control functions during recovery explicitly 2018-06-14 12:51:32 -04:00
common Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
gin Re-think predicate locking on GIN indexes. 2018-05-04 11:27:50 +03:00
gist Re-think predicate locking on GIN indexes. 2018-05-04 11:27:50 +03:00
hash Clean up warnings from -Wimplicit-fallthrough. 2018-05-01 19:35:08 -04:00
heap Don't mark pages all-visible spuriously 2018-05-04 18:24:45 -03:00
index Further cleanup of client dependencies on src/include/catalog headers. 2018-04-09 14:39:58 -04:00
nbtree Move _bt_upgrademetapage() into critical section. 2018-05-30 19:45:39 +03:00
rmgrdesc printf("%lf") is not portable, so omit the "l". 2018-05-20 11:40:54 -04:00
spgist Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
tablesample Update copyright for 2018 2018-01-02 23:30:12 -05:00
transam Remove AELs from subxids correctly on standby 2018-06-16 14:03:29 +01:00
Makefile TABLESAMPLE, SQL Standard and extensible 2015-05-15 14:37:10 -04:00