forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitb2e237a
committed
Release lock on heap buffer before vacuuming FSM
When there are no indexes on a table, we vacuum each heap block afterpruning it and then update the freespace map. Periodically, we alsovacuum the freespace map. This was done while unnecessarily holding alock on the heap page. Release the lock before callingFreeSpaceMapVacuumRange() and, while we're at it, ensure the rangeincludes the heap block we just vacuumed.There are no known deadlocks or other similar issues, therefore don'tbackpatch. It's certainly not good to do all this work under a lock, but it'snot frequently reached, making it not worth the risk of backpatching.Author: Melanie Plageman <melanieplageman@gmail.com>Reviewed-by: Andres Freund <andres@anarazel.de>Discussion:https://postgr.es/m/CAAKRu_YiL%3D44GvGnt1dpYouDSSoV7wzxVoXs8m3p311rp-TVQQ%40mail.gmail.com1 parentf7816ae commitb2e237a
1 file changed
+18
-12
lines changedLines changed: 18 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1046 | 1046 |
| |
1047 | 1047 |
| |
1048 | 1048 |
| |
1049 |
| - | |
1050 |
| - | |
1051 |
| - | |
1052 |
| - | |
1053 |
| - | |
1054 |
| - | |
1055 |
| - | |
1056 |
| - | |
1057 |
| - | |
1058 |
| - | |
1059 |
| - | |
1060 |
| - | |
1061 | 1049 |
| |
1062 | 1050 |
| |
1063 | 1051 |
| |
| |||
1071 | 1059 |
| |
1072 | 1060 |
| |
1073 | 1061 |
| |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
1074 | 1080 |
| |
1075 | 1081 |
| |
1076 | 1082 |
| |
|
0 commit comments
Comments
(0)