- Notifications
You must be signed in to change notification settings - Fork4.9k
Commitc424c75
committed
Prevent excess SimpleLruTruncate() deletion.
Every core SLRU wraps around. With the exception of pg_notify, the wrappoint can fall in the middle of a page. Account for this in thePagePrecedes callback specification and in SimpleLruTruncate()'s use ofsaid callback. Update each callback implementation to fit the newspecification. This changes SerialPagePrecedesLogically() from thestyle of asyncQueuePagePrecedes() to the style of CLOGPagePrecedes().(Whereas pg_clog and pg_serial share a key space, pg_serial is nothinglike pg_notify.) The bug fixed here has the same symptoms and userfollowup steps as592a589. Back-patchto 9.5 (all supported versions).Reviewed by Andrey Borodin and (in earlier versions) by Tom Lane.Discussion:https://postgr.es/m/20190202083822.GC32531@gust.leadboat.com1 parent3934543 commitc424c75
File tree
8 files changed
+312
-79
lines changed- src
- backend
- access/transam
- commands
- storage/lmgr
- include/access
8 files changed
+312
-79
lines changedLines changed: 19 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
464 | 464 |
| |
465 | 465 |
| |
466 | 466 |
| |
| 467 | + | |
467 | 468 |
| |
468 | 469 |
| |
469 | 470 |
| |
| |||
676 | 677 |
| |
677 | 678 |
| |
678 | 679 |
| |
679 |
| - | |
| 680 | + | |
680 | 681 |
| |
681 | 682 |
| |
682 |
| - | |
683 |
| - | |
684 |
| - | |
685 |
| - | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
686 | 696 |
| |
687 | 697 |
| |
688 | 698 |
| |
| |||
691 | 701 |
| |
692 | 702 |
| |
693 | 703 |
| |
694 |
| - | |
| 704 | + | |
695 | 705 |
| |
696 |
| - | |
| 706 | + | |
697 | 707 |
| |
698 |
| - | |
| 708 | + | |
| 709 | + | |
699 | 710 |
| |
700 | 711 |
| |
701 | 712 |
| |
|
Lines changed: 25 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
493 | 493 |
| |
494 | 494 |
| |
495 | 495 |
| |
| 496 | + | |
496 | 497 |
| |
497 | 498 |
| |
498 | 499 |
| |
| |||
869 | 870 |
| |
870 | 871 |
| |
871 | 872 |
| |
872 |
| - | |
| 873 | + | |
| 874 | + | |
873 | 875 |
| |
874 |
| - | |
875 |
| - | |
876 |
| - | |
877 |
| - | |
878 |
| - | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
879 | 894 |
| |
880 | 895 |
| |
881 | 896 |
| |
| |||
884 | 899 |
| |
885 | 900 |
| |
886 | 901 |
| |
887 |
| - | |
| 902 | + | |
888 | 903 |
| |
889 |
| - | |
| 904 | + | |
890 | 905 |
| |
891 |
| - | |
| 906 | + | |
| 907 | + | |
892 | 908 |
| |
893 | 909 |
| |
894 | 910 |
| |
|
Lines changed: 24 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1839 | 1839 |
| |
1840 | 1840 |
| |
1841 | 1841 |
| |
| 1842 | + | |
1842 | 1843 |
| |
1843 | 1844 |
| |
1844 | 1845 |
| |
| 1846 | + | |
1845 | 1847 |
| |
1846 | 1848 |
| |
1847 | 1849 |
| |
| |||
2975 | 2977 |
| |
2976 | 2978 |
| |
2977 | 2979 |
| |
| 2980 | + | |
| 2981 | + | |
| 2982 | + | |
| 2983 | + | |
| 2984 | + | |
| 2985 | + | |
| 2986 | + | |
| 2987 | + | |
2978 | 2988 |
| |
2979 | 2989 |
| |
2980 | 2990 |
| |
| |||
3089 | 3099 |
| |
3090 | 3100 |
| |
3091 | 3101 |
| |
3092 |
| - | |
3093 |
| - | |
3094 |
| - | |
3095 |
| - | |
3096 |
| - | |
3097 |
| - | |
3098 |
| - | |
3099 |
| - | |
3100 |
| - | |
| 3102 | + | |
| 3103 | + | |
| 3104 | + | |
| 3105 | + | |
| 3106 | + | |
3101 | 3107 |
| |
3102 | 3108 |
| |
3103 | 3109 |
| |
| |||
3106 | 3112 |
| |
3107 | 3113 |
| |
3108 | 3114 |
| |
3109 |
| - | |
| 3115 | + | |
3110 | 3116 |
| |
3111 |
| - | |
| 3117 | + | |
3112 | 3118 |
| |
3113 |
| - | |
| 3119 | + | |
| 3120 | + | |
| 3121 | + | |
3114 | 3122 |
| |
3115 | 3123 |
| |
3116 | 3124 |
| |
3117 |
| - | |
| 3125 | + | |
3118 | 3126 |
| |
3119 | 3127 |
| |
3120 | 3128 |
| |
| |||
3126 | 3134 |
| |
3127 | 3135 |
| |
3128 | 3136 |
| |
3129 |
| - | |
| 3137 | + | |
| 3138 | + | |
| 3139 | + | |
3130 | 3140 |
| |
3131 | 3141 |
| |
3132 | 3142 |
| |
|
Lines changed: 127 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1156 | 1156 |
| |
1157 | 1157 |
| |
1158 | 1158 |
| |
1159 |
| - | |
1160 |
| - | |
1161 |
| - | |
1162 |
| - | |
1163 |
| - | |
1164 | 1159 |
| |
1165 | 1160 |
| |
1166 | 1161 |
| |
| |||
1173 | 1168 |
| |
1174 | 1169 |
| |
1175 | 1170 |
| |
1176 |
| - | |
1177 |
| - | |
1178 |
| - | |
| 1171 | + | |
1179 | 1172 |
| |
1180 | 1173 |
| |
1181 | 1174 |
| |
| |||
1207 | 1200 |
| |
1208 | 1201 |
| |
1209 | 1202 |
| |
1210 |
| - | |
1211 |
| - | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
1212 | 1208 |
| |
1213 | 1209 |
| |
1214 | 1210 |
| |
| |||
1298 | 1294 |
| |
1299 | 1295 |
| |
1300 | 1296 |
| |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
| 1314 | + | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
| 1325 | + | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
| 1337 | + | |
| 1338 | + | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
| 1378 | + | |
| 1379 | + | |
| 1380 | + | |
| 1381 | + | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
| 1385 | + | |
| 1386 | + | |
| 1387 | + | |
| 1388 | + | |
| 1389 | + | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
| 1394 | + | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
| 1405 | + | |
| 1406 | + | |
| 1407 | + | |
| 1408 | + | |
| 1409 | + | |
| 1410 | + | |
| 1411 | + | |
| 1412 | + | |
| 1413 | + | |
1301 | 1414 |
| |
1302 | 1415 |
| |
1303 |
| - | |
1304 |
| - | |
| 1416 | + | |
| 1417 | + | |
1305 | 1418 |
| |
1306 | 1419 |
| |
1307 | 1420 |
| |
1308 | 1421 |
| |
1309 | 1422 |
| |
1310 | 1423 |
| |
1311 |
| - | |
1312 |
| - | |
1313 |
| - | |
| 1424 | + | |
1314 | 1425 |
| |
1315 | 1426 |
| |
1316 | 1427 |
| |
| |||
1325 | 1436 |
| |
1326 | 1437 |
| |
1327 | 1438 |
| |
1328 |
| - | |
| 1439 | + | |
1329 | 1440 |
| |
1330 | 1441 |
| |
1331 | 1442 |
| |
|
0 commit comments
Comments
(0)