forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit3ac860f
committed
Fix NOTIFY to cope with I/O problems, such as out-of-disk-space.
The LISTEN/NOTIFY subsystem got confused if SimpleLruZeroPage failed,which would typically happen as a result of a write() failure whileattempting to dump a dirty pg_notify page out of memory. Subsequently,all attempts to send more NOTIFY messages would fail with messages like"Could not read from file "pg_notify/nnnn" at offset nnnnn: Success".Only restarting the server would clear this condition. Per reports fromKevin Grittner and Christoph Berg.Back-patch to 9.0, where the problem was introduced during theLISTEN/NOTIFY rewrite.1 parent8a9bcf7 commit3ac860f
1 file changed
+22
-5
lines changedLines changed: 22 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1306 | 1306 |
| |
1307 | 1307 |
| |
1308 | 1308 |
| |
| 1309 | + | |
1309 | 1310 |
| |
1310 | 1311 |
| |
1311 | 1312 |
| |
1312 | 1313 |
| |
1313 | 1314 |
| |
1314 | 1315 |
| |
1315 | 1316 |
| |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
1316 | 1330 |
| |
1317 |
| - | |
| 1331 | + | |
1318 | 1332 |
| |
1319 | 1333 |
| |
1320 | 1334 |
| |
| |||
1326 | 1340 |
| |
1327 | 1341 |
| |
1328 | 1342 |
| |
1329 |
| - | |
| 1343 | + | |
1330 | 1344 |
| |
1331 | 1345 |
| |
1332 | 1346 |
| |
| |||
1352 | 1366 |
| |
1353 | 1367 |
| |
1354 | 1368 |
| |
1355 |
| - | |
1356 |
| - | |
| 1369 | + | |
| 1370 | + | |
1357 | 1371 |
| |
1358 | 1372 |
| |
1359 | 1373 |
| |
| |||
1363 | 1377 |
| |
1364 | 1378 |
| |
1365 | 1379 |
| |
1366 |
| - | |
| 1380 | + | |
1367 | 1381 |
| |
1368 | 1382 |
| |
1369 | 1383 |
| |
1370 | 1384 |
| |
1371 | 1385 |
| |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
1372 | 1389 |
| |
1373 | 1390 |
| |
1374 | 1391 |
| |
|
0 commit comments
Comments
(0)