Commit ee031ae
committed
Fix silent hang in flush when nodeShutdown returns non-recoverable error
During physical restore, flush() calls nodeShutdown() to shut down mongod.
Previously, if nodeShutdown() returned an error other than
ConflictingOperationInProgress (e.g., Unauthorized when not connecting
from localhost), the error was silently ignored and the code proceeded
to waitMgoShutdown(), which would hang indefinitely.
Extract error classification into isNonRecoverableShutdownErr() helper
to make it easy to add new non-recoverable error patterns in the future.
Signed-off-by: alexgim961101 <alexgim961101@gmail.com>1 parent 01eb998 commit ee031ae
1 file changed
+21
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
439 | 439 | | |
440 | 440 | | |
441 | 441 | | |
442 | | - | |
443 | | - | |
444 | | - | |
| 442 | + | |
445 | 443 | | |
446 | 444 | | |
447 | 445 | | |
| |||
571 | 569 | | |
572 | 570 | | |
573 | 571 | | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
574 | 592 | | |
575 | 593 | | |
576 | 594 | | |
| |||
0 commit comments