forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit2ca19aa
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 parent617a239 commit2ca19aa
1 file changed
+16
-12
lines changedLines changed: 16 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1480 | 1480 |
| |
1481 | 1481 |
| |
1482 | 1482 |
| |
| 1483 | + | |
| 1484 | + | |
1483 | 1485 |
| |
1484 | 1486 |
| |
1485 | 1487 |
| |
| |||
1488 | 1490 |
| |
1489 | 1491 |
| |
1490 | 1492 |
| |
1491 |
| - | |
| 1493 | + | |
| 1494 | + | |
| 1495 | + | |
1492 | 1496 |
| |
1493 | 1497 |
| |
1494 | 1498 |
| |
| |||
1498 | 1502 |
| |
1499 | 1503 |
| |
1500 | 1504 |
| |
1501 |
| - | |
1502 |
| - | |
| 1505 | + | |
| 1506 | + | |
1503 | 1507 |
| |
1504 | 1508 |
| |
1505 | 1509 |
| |
| |||
1518 | 1522 |
| |
1519 | 1523 |
| |
1520 | 1524 |
| |
1521 |
| - | |
| 1525 | + | |
1522 | 1526 |
| |
1523 |
| - | |
| 1527 | + | |
1524 | 1528 |
| |
1525 | 1529 |
| |
1526 |
| - | |
| 1530 | + | |
1527 | 1531 |
| |
1528 | 1532 |
| |
1529 | 1533 |
| |
1530 | 1534 |
| |
1531 | 1535 |
| |
1532 | 1536 |
| |
1533 |
| - | |
1534 |
| - | |
| 1537 | + | |
| 1538 | + | |
1535 | 1539 |
| |
1536 | 1540 |
| |
1537 |
| - | |
| 1541 | + | |
1538 | 1542 |
| |
1539 | 1543 |
| |
1540 |
| - | |
| 1544 | + | |
1541 | 1545 |
| |
1542 | 1546 |
| |
1543 | 1547 |
| |
1544 | 1548 |
| |
1545 | 1549 |
| |
1546 | 1550 |
| |
1547 |
| - | |
1548 |
| - | |
| 1551 | + | |
| 1552 | + | |
1549 | 1553 |
| |
1550 | 1554 |
| |
1551 | 1555 |
| |
|
0 commit comments
Comments
(0)