forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit70cadfb
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 parent440b625 commit70cadfb
1 file changed
+16
-12
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1379 | 1379 | | |
1380 | 1380 | | |
1381 | 1381 | | |
| 1382 | + | |
| 1383 | + | |
1382 | 1384 | | |
1383 | 1385 | | |
1384 | 1386 | | |
| |||
1387 | 1389 | | |
1388 | 1390 | | |
1389 | 1391 | | |
1390 | | - | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
1391 | 1395 | | |
1392 | 1396 | | |
1393 | 1397 | | |
| |||
1397 | 1401 | | |
1398 | 1402 | | |
1399 | 1403 | | |
1400 | | - | |
1401 | | - | |
| 1404 | + | |
| 1405 | + | |
1402 | 1406 | | |
1403 | 1407 | | |
1404 | 1408 | | |
| |||
1417 | 1421 | | |
1418 | 1422 | | |
1419 | 1423 | | |
1420 | | - | |
| 1424 | + | |
1421 | 1425 | | |
1422 | | - | |
| 1426 | + | |
1423 | 1427 | | |
1424 | 1428 | | |
1425 | | - | |
| 1429 | + | |
1426 | 1430 | | |
1427 | 1431 | | |
1428 | 1432 | | |
1429 | 1433 | | |
1430 | 1434 | | |
1431 | 1435 | | |
1432 | | - | |
1433 | | - | |
| 1436 | + | |
| 1437 | + | |
1434 | 1438 | | |
1435 | 1439 | | |
1436 | | - | |
| 1440 | + | |
1437 | 1441 | | |
1438 | 1442 | | |
1439 | | - | |
| 1443 | + | |
1440 | 1444 | | |
1441 | 1445 | | |
1442 | 1446 | | |
1443 | 1447 | | |
1444 | 1448 | | |
1445 | 1449 | | |
1446 | | - | |
1447 | | - | |
| 1450 | + | |
| 1451 | + | |
1448 | 1452 | | |
1449 | 1453 | | |
1450 | 1454 | | |
| |||
0 commit comments
Comments
(0)