forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit7c5915c
committed
Close race condition between datfrozen and relfrozen updates.
vac_update_datfrozenxid() did multiple loads of relfrozenxid andrelminmxid from buffer memory, and it assumed each would get the samevalue. Not so if a concurrent vac_update_relstats() did an inplaceupdate. Commit2d2e40e fixed the samekind of bug in vac_truncate_clog(). Today's bug could cause therel-level field and XIDs in the rel's rows to precede the db-levelfield. A cluster having such values should VACUUM affected tables.Back-patch to v12 (all supported versions).Discussion:https://postgr.es/m/20240423003956.e7.nmisch@google.com1 parent9b41d1d commit7c5915c
1 file changed
+16
-12
lines changedLines changed: 16 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1532 | 1532 |
| |
1533 | 1533 |
| |
1534 | 1534 |
| |
| 1535 | + | |
| 1536 | + | |
1535 | 1537 |
| |
1536 | 1538 |
| |
1537 | 1539 |
| |
| |||
1540 | 1542 |
| |
1541 | 1543 |
| |
1542 | 1544 |
| |
1543 |
| - | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
1544 | 1548 |
| |
1545 | 1549 |
| |
1546 | 1550 |
| |
| |||
1550 | 1554 |
| |
1551 | 1555 |
| |
1552 | 1556 |
| |
1553 |
| - | |
1554 |
| - | |
| 1557 | + | |
| 1558 | + | |
1555 | 1559 |
| |
1556 | 1560 |
| |
1557 | 1561 |
| |
| |||
1570 | 1574 |
| |
1571 | 1575 |
| |
1572 | 1576 |
| |
1573 |
| - | |
| 1577 | + | |
1574 | 1578 |
| |
1575 |
| - | |
| 1579 | + | |
1576 | 1580 |
| |
1577 | 1581 |
| |
1578 |
| - | |
| 1582 | + | |
1579 | 1583 |
| |
1580 | 1584 |
| |
1581 | 1585 |
| |
1582 | 1586 |
| |
1583 | 1587 |
| |
1584 | 1588 |
| |
1585 |
| - | |
1586 |
| - | |
| 1589 | + | |
| 1590 | + | |
1587 | 1591 |
| |
1588 | 1592 |
| |
1589 |
| - | |
| 1593 | + | |
1590 | 1594 |
| |
1591 | 1595 |
| |
1592 |
| - | |
| 1596 | + | |
1593 | 1597 |
| |
1594 | 1598 |
| |
1595 | 1599 |
| |
1596 | 1600 |
| |
1597 | 1601 |
| |
1598 | 1602 |
| |
1599 |
| - | |
1600 |
| - | |
| 1603 | + | |
| 1604 | + | |
1601 | 1605 |
| |
1602 | 1606 |
| |
1603 | 1607 |
| |
|
0 commit comments
Comments
(0)