diff options
author | Thomas Munro <tmunro@postgresql.org> | 2018-06-26 18:44:31 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2018-06-26 18:44:31 +1200 |
commit | 35750a38b7ab6e30aa2ee6eb7765ebd2172dd7c5 (patch) | |
tree | 87770cb2eef535c7677dacc806a618f4cf6d2907 /src/backend/access/transam/xlogutils.c | |
parent | 7fdf56b0a796f9e6f625c8fa236ece72b91b2270 (diff) |
Move RecoveryLockList into a hash table.
Standbys frequently need to release all locks held by a given xid.
Instead of searching one big list linearly, let's create one list
per xid and put them in a hash table, so we can find what we need
in O(1) time.
Earlier analysis and a prototype were done by David Rowley, though
this isn't his patch.
Back-patch all the way.
Author: Thomas Munro
Diagnosed-by: David Rowley, Andres Freund
Reviewed-by: Andres Freund, Tom Lane, Robert Haas
Discussion: https://postgr.es/m/CAEepm%3D1mL0KiQ2KJ4yuPpLGX94a4Ns_W6TL4EGRouxWibu56pA%40mail.gmail.com
Discussion: https://postgr.es/m/CAKJS1f9vJ841HY%3DwonnLVbfkTWGYWdPN72VMxnArcGCjF3SywA%40mail.gmail.com
Diffstat (limited to 'src/backend/access/transam/xlogutils.c')
0 files changed, 0 insertions, 0 deletions