Commit 49bf815
committed
Drop slot's LWLock before returning from SaveSlotToPath()
When SaveSlotToPath() is called with elevel=LOG, the early exits didn't
release the slot's io_in_progress_lock.
This could result in a walsender being stuck on the lock forever. A
possible way to get into this situation is if the offending code paths
are triggered in a low disk space situation.
Author: Pavan Deolasee <pavan.deolasee@2ndquadrant.com>
Reported-by: Craig Ringer <craig@2ndquadrant.com>
Discussion: https://www.postgresql.org/message-id/flat/56a138c5-de61-f553-7e8f-6789296de785%402ndquadrant.com1 parent 958aa43 commit 49bf815
1 file changed
+10
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1256 | 1256 | | |
1257 | 1257 | | |
1258 | 1258 | | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
1259 | 1265 | | |
1260 | 1266 | | |
1261 | 1267 | | |
| |||
1287 | 1293 | | |
1288 | 1294 | | |
1289 | 1295 | | |
| 1296 | + | |
1290 | 1297 | | |
1291 | 1298 | | |
1292 | 1299 | | |
| |||
1306 | 1313 | | |
1307 | 1314 | | |
1308 | 1315 | | |
| 1316 | + | |
1309 | 1317 | | |
1310 | 1318 | | |
1311 | 1319 | | |
| |||
1317 | 1325 | | |
1318 | 1326 | | |
1319 | 1327 | | |
| 1328 | + | |
1320 | 1329 | | |
1321 | 1330 | | |
1322 | 1331 | | |
| |||
1327 | 1336 | | |
1328 | 1337 | | |
1329 | 1338 | | |
| 1339 | + | |
1330 | 1340 | | |
1331 | 1341 | | |
1332 | 1342 | | |
| |||
0 commit comments