diff --git a/src/backend/access/transam/clog.c b/src/backend/access/transam/clog.c index 47db7a8a88..8a70644523 100644 --- a/src/backend/access/transam/clog.c +++ b/src/backend/access/transam/clog.c @@ -299,13 +299,6 @@ TransactionIdSetPageStatus(TransactionId xid, int nsubxids, memcmp(subxids, MyProc->subxids.xids, nsubxids * sizeof(TransactionId)) == 0) { - /* - * We don't try to do group update optimization if a process has - * overflowed the subxids array in its PGPROC, since in that case we - * don't have a complete list of XIDs for it. - */ - Assert(THRESHOLD_SUBTRANS_CLOG_OPT <= PGPROC_MAX_CACHED_SUBXIDS); - /* * If we can immediately acquire CLogControlLock, we update the status * of our own XID and release the lock. If not, try use group XID @@ -520,10 +513,10 @@ TransactionGroupUpdateXidStatus(TransactionId xid, XidStatus status, PGXACT *pgxact = &ProcGlobal->allPgXact[nextidx]; /* - * Overflowed transactions should not use group XID status update - * mechanism. + * Transactions with more than THRESHOLD_SUBTRANS_CLOG_OPT sub-XIDs + * should not use group XID status update mechanism. */ - Assert(!pgxact->overflowed); + Assert(pgxact->nxids <= THRESHOLD_SUBTRANS_CLOG_OPT); TransactionIdSetPageStatusInternal(proc->clogGroupMemberXid, pgxact->nxids,