Fix GetNewTransactionId()'s interaction with xidVacLimit.
Thomas Munro <tmunro@postgresql.org>
Fix GetNewTransactionId()'s interaction with xidVacLimit. Commit ad308058 switched to returning a FullTransactionId, but failed to load the potentially updated value in the case where xidVacLimit is reached and we release and reacquire the lock. Repair, closing bug #15727. While reviewing that commit, also fix the size computation used by EstimateTransactionStateSize() and switch to the mul_size() macro traditionally used in such expressions. Author: Thomas Munro Reported-by: Roman Zharkov Discussion: https://postgr.es/m/15727-0be246e7d852d229%40postgresql.org
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/transam/varsup.c | modified | +2 −1 |
| src/backend/access/transam/xact.c | modified | +1 −1 |
Discussion
- BUG #15727: PANIC: cannot abort transaction 295144144, it was already committed 46 messages · 2019-04-02 → 2019-04-12