- Notifications
You must be signed in to change notification settings - Fork5
Commit93d8882
committed
Don't throw a warning if vacuum sees PD_ALL_VISIBLE flag set on a page that
contains newly-inserted tuples that according to our OldestXmin are notyet visible to everyone. The value returned by GetOldestXmin() is conservative,and it can move backwards on repeated calls, so if we see that contradictionbetween the PD_ALL_VISIBLE flag and status of tuples on the page, we have toassume it's because an earlier vacuum calculated a higher OldestXmin value,and all the tuples really are visible to everyone.We have received several reports of this bug, with the "PD_ALL_VISIBLE flagwas incorrectly set in relation ..." warning appearing in logs. We werefinally able to hunt it down with David Gould's help to run extra diagnosticsin an environment where this happened frequently.Also reword the warning, per Robert Haas' suggestion, to not imply that thePD_ALL_VISIBLE flag is necessarily at fault, as it might also be a symptomof corruption on a tuple header.Backpatch to 8.4, where the PD_ALL_VISIBLE flag was introduced.1 parent915cd10 commit93d8882
2 files changed
+30
-2
lines changedLines changed: 18 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
349 | 349 |
| |
350 | 350 |
| |
351 | 351 |
| |
| 352 | + | |
352 | 353 |
| |
353 | 354 |
| |
354 | 355 |
| |
| |||
500 | 501 |
| |
501 | 502 |
| |
502 | 503 |
| |
| 504 | + | |
503 | 505 |
| |
504 | 506 |
| |
505 | 507 |
| |
| |||
640 | 642 |
| |
641 | 643 |
| |
642 | 644 |
| |
| 645 | + | |
643 | 646 |
| |
644 | 647 |
| |
645 | 648 |
| |
| |||
702 | 705 |
| |
703 | 706 |
| |
704 | 707 |
| |
705 |
| - | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
706 | 722 |
| |
707 |
| - | |
| 723 | + | |
708 | 724 |
| |
709 | 725 |
| |
710 | 726 |
| |
|
Lines changed: 12 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1000 | 1000 |
| |
1001 | 1001 |
| |
1002 | 1002 |
| |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
1003 | 1015 |
| |
1004 | 1016 |
| |
1005 | 1017 |
| |
|
0 commit comments
Comments
(0)