• Simon Riggs's avatar
    Remove AELs from subxids correctly on standby · 15378c1a
    Simon Riggs authored
    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. 49bff530 fixed that.
    
    However, 49bff530 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
    15378c1a
xact.c 164 KB