forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit2a912bc
committed
Unpin buffer before inplace update waits for an XID to end.
Commita07e03f changed inplace updatesto wait for heap_update() commands like GRANT TABLE and GRANT DATABASE.By keeping the pin during that wait, a sequence of autovacuum workersand an uncommitted GRANT starved one foreground LockBufferForCleanup()for six minutes, on buildfarm member sarus. Prevent, at the cost of abit of complexity. Back-patch to v12, like the earlier commit. Thatcommit and heap_inplace_lock() have not yet appeared in any release.Discussion:https://postgr.es/m/20241026184936.ae.nmisch@google.com1 parent8a84861 commit2a912bc
3 files changed
+14
-11
lines changedLines changed: 7 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5943 | 5943 |
| |
5944 | 5944 |
| |
5945 | 5945 |
| |
5946 |
| - | |
5947 |
| - | |
| 5946 | + | |
| 5947 | + | |
5948 | 5948 |
| |
5949 | 5949 |
| |
5950 | 5950 |
| |
| |||
5978 | 5978 |
| |
5979 | 5979 |
| |
5980 | 5980 |
| |
5981 |
| - | |
| 5981 | + | |
| 5982 | + | |
5982 | 5983 |
| |
5983 | 5984 |
| |
5984 | 5985 |
| |
| |||
6043 | 6044 |
| |
6044 | 6045 |
| |
6045 | 6046 |
| |
| 6047 | + | |
6046 | 6048 |
| |
6047 | 6049 |
| |
6048 | 6050 |
| |
| |||
6058 | 6060 |
| |
6059 | 6061 |
| |
6060 | 6062 |
| |
| 6063 | + | |
6061 | 6064 |
| |
6062 | 6065 |
| |
6063 | 6066 |
| |
| |||
6069 | 6072 |
| |
6070 | 6073 |
| |
6071 | 6074 |
| |
| 6075 | + | |
6072 | 6076 |
| |
6073 | 6077 |
| |
6074 | 6078 |
| |
|
Lines changed: 5 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
708 | 708 |
| |
709 | 709 |
| |
710 | 710 |
| |
| 711 | + | |
711 | 712 |
| |
712 | 713 |
| |
713 | 714 |
| |
| |||
729 | 730 |
| |
730 | 731 |
| |
731 | 732 |
| |
732 |
| - | |
| 733 | + | |
733 | 734 |
| |
734 | 735 |
| |
735 |
| - | |
736 | 736 |
| |
737 | 737 |
| |
738 | 738 |
| |
| |||
758 | 758 |
| |
759 | 759 |
| |
760 | 760 |
| |
761 |
| - | |
762 |
| - | |
763 |
| - | |
764 |
| - | |
765 |
| - | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
766 | 764 |
| |
767 | 765 |
| |
768 | 766 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
158 | 158 |
| |
159 | 159 |
| |
160 | 160 |
| |
161 |
| - | |
| 161 | + | |
| 162 | + | |
162 | 163 |
| |
163 | 164 |
| |
164 | 165 |
| |
|
0 commit comments
Comments
(0)