- Notifications
You must be signed in to change notification settings - Fork5
Commitc5d6d5b
committed
Improve parallel restore's ability to cope with selective restore (-L option).
The original coding tended to break down in the face of modified restoreorders, as shown in bug #5626 from Albert Ullrich, because it would flip overinto parallel-restore operation too soon. That causes problems because wedon't have sufficient dependency information in dump archives to allow safeparallel processing of SECTION_PRE_DATA items. Even if we did, it's probablyundesirable to allow that to override the commanded restore order.To fix the problem of omitted items causing unexpected changes in restoreorder, tweak SortTocFromFile so that omitted items end up at the head ofthe list not the tail. This ensures that they'll be examined and theirdependencies will be marked satisfied before we get to any interestingitems.In HEAD and 9.0, we can easily change restore_toc_entries_parallel so thatall SECTION_PRE_DATA items are guaranteed to be processed in the initialserial-restore loop, and hence in commanded order. Only DATA and POST_DATAitems are candidates for parallel processing. For them there might bevariations from the commanded order because of parallelism, but we shoulddo it in a safe order thanks to dependencies.In 8.4 it's much harder to make such a guarantee. I settled for notletting the initial loop break out into parallel processing mode ifit sees a DATA/POST_DATA item that's not to be restored; this at leastprevents a non-restorable item from causing premature exit from the loop.This means that 8.4 will be more likely to fail given a badly-ordered -Llist than 9.x, but we don't really promise any such thing will work anyway.1 parent5abd2d7 commitc5d6d5b
1 file changed
+38
-19
lines changedLines changed: 38 additions & 19 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
18 |
| - | |
| 18 | + | |
19 | 19 |
| |
20 | 20 |
| |
21 | 21 |
| |
| |||
102 | 102 |
| |
103 | 103 |
| |
104 | 104 |
| |
105 |
| - | |
| 105 | + | |
106 | 106 |
| |
107 | 107 |
| |
108 | 108 |
| |
| |||
995 | 995 |
| |
996 | 996 |
| |
997 | 997 |
| |
998 |
| - | |
999 | 998 |
| |
1000 | 999 |
| |
1001 | 1000 |
| |
1002 | 1001 |
| |
1003 | 1002 |
| |
1004 |
| - | |
1005 |
| - | |
1006 |
| - | |
1007 | 1003 |
| |
1008 | 1004 |
| |
1009 | 1005 |
| |
| |||
1018 | 1014 |
| |
1019 | 1015 |
| |
1020 | 1016 |
| |
1021 |
| - | |
| 1017 | + | |
1022 | 1018 |
| |
1023 | 1019 |
| |
1024 | 1020 |
| |
| |||
1036 | 1032 |
| |
1037 | 1033 |
| |
1038 | 1034 |
| |
| 1035 | + | |
1039 | 1036 |
| |
1040 | 1037 |
| |
1041 |
| - | |
1042 |
| - | |
| 1038 | + | |
| 1039 | + | |
| 1040 | + | |
| 1041 | + | |
| 1042 | + | |
| 1043 | + | |
| 1044 | + | |
| 1045 | + | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
1043 | 1050 |
| |
1044 | 1051 |
| |
1045 | 1052 |
| |
| |||
1471 | 1478 |
| |
1472 | 1479 |
| |
1473 | 1480 |
| |
| 1481 | + | |
| 1482 | + | |
1474 | 1483 |
| |
1475 | 1484 |
| |
1476 | 1485 |
| |
| 1486 | + | |
1477 | 1487 |
| |
1478 | 1488 |
| |
1479 | 1489 |
| |
| 1490 | + | |
1480 | 1491 |
| |
1481 | 1492 |
| |
1482 |
| - | |
1483 | 1493 |
| |
1484 | 1494 |
| |
1485 | 1495 |
| |
1486 | 1496 |
| |
1487 |
| - | |
| 1497 | + | |
1488 | 1498 |
| |
1489 | 1499 |
| |
1490 | 1500 |
| |
1491 | 1501 |
| |
| 1502 | + | |
1492 | 1503 |
| |
1493 | 1504 |
| |
1494 | 1505 |
| |
| 1506 | + | |
1495 | 1507 |
| |
1496 | 1508 |
| |
1497 | 1509 |
| |
1498 | 1510 |
| |
1499 | 1511 |
| |
1500 |
| - | |
1501 | 1512 |
| |
1502 | 1513 |
| |
1503 | 1514 |
| |
| |||
3180 | 3191 |
| |
3181 | 3192 |
| |
3182 | 3193 |
| |
3183 |
| - | |
| 3194 | + | |
| 3195 | + | |
| 3196 | + | |
3184 | 3197 |
| |
3185 | 3198 |
| |
3186 | 3199 |
| |
| 3200 | + | |
3187 | 3201 |
| |
3188 | 3202 |
| |
3189 |
| - | |
| 3203 | + | |
3190 | 3204 |
| |
3191 | 3205 |
| |
3192 | 3206 |
| |
| |||
3229 | 3243 |
| |
3230 | 3244 |
| |
3231 | 3245 |
| |
3232 |
| - | |
| 3246 | + | |
3233 | 3247 |
| |
3234 |
| - | |
3235 |
| - | |
3236 |
| - | |
3237 |
| - | |
| 3248 | + | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
| 3252 | + | |
| 3253 | + | |
| 3254 | + | |
| 3255 | + | |
| 3256 | + | |
3238 | 3257 |
| |
3239 | 3258 |
| |
3240 | 3259 |
| |
|
0 commit comments
Comments
(0)