8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0034757 commit 1129c2bCopy full SHA for 1129c2b
src/backend/storage/ipc/procarray.c
@@ -2540,8 +2540,11 @@ GetConflictingVirtualXIDs(TransactionId limitXmin, Oid dbOid)
2540
2541
/*
2542
* We ignore an invalid pxmin because this means that backend has
2543
- * no snapshot and cannot get another one while we hold exclusive
2544
- * lock.
+ * no snapshot currently. We hold a Share lock to avoid contention
+ * with users taking snapshots. That is not a problem because
2545
+ * the current xmin is always at least one higher than the latest
2546
+ * removed xid, so any new snapshot would never conflict with the
2547
+ * test here.
2548
*/
2549
if (!TransactionIdIsValid(limitXmin) ||
2550
(TransactionIdIsValid(pxmin) && !TransactionIdFollows(pxmin, limitXmin)))
0 commit comments