forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit3821d66
committed
Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.
If TRUNCATE causes some buffers to be invalidated and thus thecheckpoint does not flush them, TRUNCATE must also ensure that thecorresponding files are truncated on disk. Otherwise, a replayfrom the checkpoint might find that the buffers exist but havethe wrong contents, which may cause replay to fail.Report by Teja Mupparti. Patch by Kyotaro Horiguchi, per a designsuggestion from Heikki Linnakangas, with some changes to thecomments by me. Review of this and a prior patch that approachedthe issue differently by Heikki Linnakangas, Andres Freund, ÁlvaroHerrera, Masahiko Sawada, and Tom Lane.Discussion:http://postgr.es/m/BYAPR06MB6373BF50B469CA393C614257ABF00@BYAPR06MB6373.namprd06.prod.outlook.com1 parent61a007f commit3821d66
File tree
11 files changed
+117
-29
lines changed- src
- backend
- access/transam
- catalog
- storage
- buffer
- ipc
- lmgr
- include/storage
11 files changed
+117
-29
lines changedLines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3069 | 3069 |
| |
3070 | 3070 |
| |
3071 | 3071 |
| |
3072 |
| - | |
3073 |
| - | |
| 3072 | + | |
| 3073 | + | |
3074 | 3074 |
| |
3075 | 3075 |
| |
3076 | 3076 |
| |
| |||
3096 | 3096 |
| |
3097 | 3097 |
| |
3098 | 3098 |
| |
3099 |
| - | |
| 3099 | + | |
3100 | 3100 |
| |
3101 | 3101 |
| |
3102 | 3102 |
| |
|
Lines changed: 7 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
477 | 477 |
| |
478 | 478 |
| |
479 | 479 |
| |
480 |
| - | |
| 480 | + | |
481 | 481 |
| |
482 | 482 |
| |
483 | 483 |
| |
| |||
1187 | 1187 |
| |
1188 | 1188 |
| |
1189 | 1189 |
| |
1190 |
| - | |
| 1190 | + | |
| 1191 | + | |
1191 | 1192 |
| |
1192 | 1193 |
| |
1193 | 1194 |
| |
| |||
1230 | 1231 |
| |
1231 | 1232 |
| |
1232 | 1233 |
| |
1233 |
| - | |
| 1234 | + | |
1234 | 1235 |
| |
1235 | 1236 |
| |
1236 | 1237 |
| |
| |||
2337 | 2338 |
| |
2338 | 2339 |
| |
2339 | 2340 |
| |
2340 |
| - | |
| 2341 | + | |
| 2342 | + | |
2341 | 2343 |
| |
2342 | 2344 |
| |
2343 | 2345 |
| |
| |||
2385 | 2387 |
| |
2386 | 2388 |
| |
2387 | 2389 |
| |
2388 |
| - | |
| 2390 | + | |
2389 | 2391 |
| |
2390 | 2392 |
| |
2391 | 2393 |
| |
|
Lines changed: 3 additions & 2 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 |
| |
| |||
1408 | 1409 |
| |
1409 | 1410 |
| |
1410 | 1411 |
| |
1411 |
| - | |
| 1412 | + | |
1412 | 1413 |
| |
1413 | 1414 |
| |
1414 | 1415 |
| |
|
Lines changed: 14 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8920 | 8920 |
| |
8921 | 8921 |
| |
8922 | 8922 |
| |
8923 |
| - | |
| 8923 | + | |
8924 | 8924 |
| |
8925 | 8925 |
| |
8926 | 8926 |
| |
8927 | 8927 |
| |
8928 | 8928 |
| |
8929 |
| - | |
| 8929 | + | |
| 8930 | + | |
8930 | 8931 |
| |
8931 | 8932 |
| |
8932 | 8933 |
| |
8933 | 8934 |
| |
8934 | 8935 |
| |
| 8936 | + | |
| 8937 | + | |
| 8938 | + | |
| 8939 | + | |
| 8940 | + | |
| 8941 | + | |
| 8942 | + | |
| 8943 | + | |
| 8944 | + | |
| 8945 | + | |
| 8946 | + | |
8935 | 8947 |
| |
8936 | 8948 |
| |
8937 | 8949 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
899 | 899 |
| |
900 | 900 |
| |
901 | 901 |
| |
902 |
| - | |
| 902 | + | |
903 | 903 |
| |
904 | 904 |
| |
905 | 905 |
| |
|
Lines changed: 25 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
29 | 29 |
| |
30 | 30 |
| |
31 | 31 |
| |
| 32 | + | |
32 | 33 |
| |
33 | 34 |
| |
34 | 35 |
| |
| |||
252 | 253 |
| |
253 | 254 |
| |
254 | 255 |
| |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
255 | 272 |
| |
256 | 273 |
| |
257 | 274 |
| |
| |||
290 | 307 |
| |
291 | 308 |
| |
292 | 309 |
| |
293 |
| - | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
294 | 315 |
| |
| 316 | + | |
| 317 | + | |
| 318 | + | |
295 | 319 |
| |
296 | 320 |
| |
297 | 321 |
| |
|
Lines changed: 4 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3514 | 3514 |
| |
3515 | 3515 |
| |
3516 | 3516 |
| |
3517 |
| - | |
| 3517 | + | |
| 3518 | + | |
| 3519 | + | |
3518 | 3520 |
| |
3519 | 3521 |
| |
3520 | 3522 |
| |
| |||
3547 | 3549 |
| |
3548 | 3550 |
| |
3549 | 3551 |
| |
3550 |
| - | |
| 3552 | + | |
3551 | 3553 |
| |
3552 | 3554 |
| |
3553 | 3555 |
| |
|
Lines changed: 19 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
434 | 434 |
| |
435 | 435 |
| |
436 | 436 |
| |
437 |
| - | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
438 | 441 |
| |
439 | 442 |
| |
440 | 443 |
| |
| |||
456 | 459 |
| |
457 | 460 |
| |
458 | 461 |
| |
459 |
| - | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
460 | 466 |
| |
461 | 467 |
| |
462 | 468 |
| |
| |||
2261 | 2267 |
| |
2262 | 2268 |
| |
2263 | 2269 |
| |
2264 |
| - | |
| 2270 | + | |
| 2271 | + | |
2265 | 2272 |
| |
2266 | 2273 |
| |
2267 | 2274 |
| |
| |||
2275 | 2282 |
| |
2276 | 2283 |
| |
2277 | 2284 |
| |
2278 |
| - | |
| 2285 | + | |
2279 | 2286 |
| |
2280 | 2287 |
| |
2281 | 2288 |
| |
2282 | 2289 |
| |
2283 | 2290 |
| |
2284 | 2291 |
| |
| 2292 | + | |
| 2293 | + | |
2285 | 2294 |
| |
2286 | 2295 |
| |
2287 | 2296 |
| |
| |||
2294 | 2303 |
| |
2295 | 2304 |
| |
2296 | 2305 |
| |
2297 |
| - | |
| 2306 | + | |
2298 | 2307 |
| |
2299 | 2308 |
| |
2300 | 2309 |
| |
| |||
2320 | 2329 |
| |
2321 | 2330 |
| |
2322 | 2331 |
| |
2323 |
| - | |
| 2332 | + | |
2324 | 2333 |
| |
2325 | 2334 |
| |
2326 | 2335 |
| |
2327 | 2336 |
| |
2328 | 2337 |
| |
| 2338 | + | |
| 2339 | + | |
2329 | 2340 |
| |
2330 | 2341 |
| |
2331 | 2342 |
| |
| |||
2337 | 2348 |
| |
2338 | 2349 |
| |
2339 | 2350 |
| |
2340 |
| - | |
| 2351 | + | |
| 2352 | + | |
2341 | 2353 |
| |
2342 | 2354 |
| |
2343 | 2355 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
397 | 397 |
| |
398 | 398 |
| |
399 | 399 |
| |
400 |
| - | |
| 400 | + | |
401 | 401 |
| |
402 | 402 |
| |
403 | 403 |
| |
| |||
579 | 579 |
| |
580 | 580 |
| |
581 | 581 |
| |
582 |
| - | |
| 582 | + | |
583 | 583 |
| |
584 | 584 |
| |
585 | 585 |
| |
|
Lines changed: 36 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
76 | 76 |
| |
77 | 77 |
| |
78 | 78 |
| |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
79 | 114 |
| |
80 | 115 |
| |
81 | 116 |
| |
| |||
232 | 267 |
| |
233 | 268 |
| |
234 | 269 |
| |
235 |
| - | |
236 |
| - | |
| 270 | + | |
237 | 271 |
| |
238 | 272 |
| |
239 | 273 |
| |
|
Lines changed: 3 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
92 | 92 |
| |
93 | 93 |
| |
94 | 94 |
| |
95 |
| - | |
96 |
| - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
97 | 98 |
| |
98 | 99 |
| |
99 | 100 |
| |
|
0 commit comments
Comments
(0)