forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commited16f73
committed
Fix corner case in autovacuum-forcing logic for multixact wraparound.
Since find_multixact_start() relies on SimpleLruDoesPhysicalPageExist(),and that function looks only at the on-disk state, it's possible for itto fail to find a page that exists in the in-memory SLRU that has notbeen written yet. If that happens, SetOffsetVacuumLimit() willerroneously decide to force emergency autovacuuming immediately.We should probably fix find_multixact_start() to consider the datacached in memory as well as on the on-disk state, but that's no excusefor SetOffsetVacuumLimit() to be stupid about the case where it canno longer read the value after having previously succeeded in doing so.Report by Andres Freund.1 parent86e4751 commited16f73
1 file changed
+12
-0
lines changedLines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2661 | 2661 |
| |
2662 | 2662 |
| |
2663 | 2663 |
| |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
2664 | 2676 |
| |
2665 | 2677 |
| |
2666 | 2678 |
| |
|
0 commit comments
Comments
(0)