Commit 6ceaa86
perf(reboot): reconnect hosts concurrently after a reboot
reboot()/_reboot() dispatched the reboot to every host (fire-and-forget) and
then reconnected them one at a time. Connection.reconnect begins with a fixed
pre-sleep (~10s on the first attempt) before probing the host, so the serial
loop stacked that wait: N hosts paid ~N*10s even though they all rebooted at
once. Fan the reconnects out via the file's own run_parallel helper so the
waits overlap instead of accumulating.
The per-host sleep is kept -- it guards against reconnecting to a
still-shutting-down sshd -- and the reconnect call is unchanged; only the
serialization is removed. Reconnects are independent (each Target owns its
Connection), and the first failure still surfaces to the caller. Most visible
on transactional (SL Micro) updates, which reboot every host.
Test: a Barrier-based concurrency proof (fails on a serial revert) that also
pins the keyword call convention.1 parent 98fc717 commit 6ceaa86
3 files changed
Lines changed: 80 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
31 | 37 | | |
32 | 38 | | |
33 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
219 | | - | |
| 217 | + | |
220 | 218 | | |
221 | 219 | | |
222 | 220 | | |
| |||
245 | 243 | | |
246 | 244 | | |
247 | 245 | | |
248 | | - | |
249 | | - | |
250 | | - | |
| 246 | + | |
251 | 247 | | |
252 | 248 | | |
253 | 249 | | |
| |||
282 | 278 | | |
283 | 279 | | |
284 | 280 | | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
285 | 304 | | |
286 | 305 | | |
287 | 306 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
551 | 578 | | |
552 | 579 | | |
553 | 580 | | |
| |||
1027 | 1054 | | |
1028 | 1055 | | |
1029 | 1056 | | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + | |
| 1060 | + | |
| 1061 | + | |
| 1062 | + | |
| 1063 | + | |
| 1064 | + | |
| 1065 | + | |
| 1066 | + | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
1030 | 1079 | | |
1031 | 1080 | | |
1032 | 1081 | | |
| |||
0 commit comments