forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit8507a5b
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 parent2a781b5 commit8507a5b
1 file changed
+12
-0
lines changedLines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2680 | 2680 |
| |
2681 | 2681 |
| |
2682 | 2682 |
| |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
2683 | 2695 |
| |
2684 | 2696 |
| |
2685 | 2697 |
| |
|
0 commit comments
Comments
(0)