- Notifications
You must be signed in to change notification settings - Fork5k
Commit67bab53
committed
Fix parallel worker tracking of new catalog relfilenumbers.
Reunite RestorePendingSyncs() with RestoreRelationMap(). IfRelationInitPhysicalAddr() ran after RestoreRelationMap() but beforeRestorePendingSyncs(), the relcache entry could cause RelationNeedsWAL()to return true erroneously. Trouble required commands of the currenttransaction to include REINDEX or CLUSTER of a system catalog. Theparallel leader correctly derived RelationNeedsWAL()==false from the newrelfilenumber, but the worker saw RelationNeedsWAL()==true. WorkerMarkBufferDirtyHint() then wrote unwanted WAL. Recovery of thatunwanted WAL could lose tuples like the system could before commitc6b9204 introduced this tracking.RestorePendingSyncs() and RestoreRelationMap() were adjacent till commit126ec0b, so no back-patch for now.Reviewed by Tom Lane.Discussion:https://postgr.es/m/20241019232815.c6.nmisch@google.com1 parente947224 commit67bab53
1 file changed
+7
-11
lines changedLines changed: 7 additions & 11 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1421 | 1421 |
| |
1422 | 1422 |
| |
1423 | 1423 |
| |
1424 |
| - | |
1425 |
| - | |
1426 |
| - | |
1427 |
| - | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
1428 | 1428 |
| |
| 1429 | + | |
| 1430 | + | |
| 1431 | + | |
1429 | 1432 |
| |
1430 | 1433 |
| |
1431 | 1434 |
| |
1432 | 1435 |
| |
1433 |
| - | |
1434 |
| - | |
1435 | 1436 |
| |
1436 | 1437 |
| |
1437 | 1438 |
| |
| |||
1488 | 1489 |
| |
1489 | 1490 |
| |
1490 | 1491 |
| |
1491 |
| - | |
1492 |
| - | |
1493 |
| - | |
1494 |
| - | |
1495 |
| - | |
1496 | 1492 |
| |
1497 | 1493 |
| |
1498 | 1494 |
| |
|
0 commit comments
Comments
(0)