Commit 38fc056
committed
Maintain valid md.c state when FileClose() fails.
FileClose() failure ordinarily causes a PANIC. Suppose the user
disables that PANIC via data_sync_retry=on. After mdclose() issued a
FileClose() that failed, calls into md.c raised SIGSEGV. This fix adds
repalloc() calls during mdclose(); update a comment about ignoring
repalloc() cost. The rate of relation segment count change is a minor
factor; more relevant to overall performance is the rate of mdclose()
and subsequent re-opening of segments. Back-patch to v10, where commit
45e191e introduced the bug.
Reviewed by Kyotaro Horiguchi.
Discussion: https://postgr.es/m/20191222091930.GA1280238@rfd.leadboat.com1 parent 1a4a032 commit 38fc056
1 file changed
+6
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
516 | 516 | | |
517 | 517 | | |
518 | 518 | | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
| 519 | + | |
| 520 | + | |
526 | 521 | | |
527 | 522 | | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | 523 | | |
532 | 524 | | |
533 | 525 | | |
| |||
1050 | 1042 | | |
1051 | 1043 | | |
1052 | 1044 | | |
1053 | | - | |
1054 | | - | |
1055 | | - | |
1056 | | - | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
1057 | 1049 | | |
1058 | 1050 | | |
1059 | 1051 | | |
| |||
0 commit comments