Commit a83169f
committed
Wire the M5 nginx USR2 control plane: keep the master free of ff state, let the
new master reuse the resident primary and register its workers' epochs through
the generation directory, and hand rx over on WINCH while the old master's
workers drain through the M4 machinery.
Rollback on a failed upgrade is a HUP to the old master (rx reclaim, upgrade
tracking reset, respawn interlock against duplicate worker sets), and the
pending wait no longer times out once the peer generation has registered.
Fixes a pre-existing USR2 bug where an invalid ff listening fd leaked through
NGINX_VAR and broke the new master's startup.1 parent 86bf554 commit a83169f
3 files changed
Lines changed: 414 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
752 | 752 | | |
753 | 753 | | |
754 | 754 | | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
755 | 764 | | |
756 | 765 | | |
757 | 766 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
354 | | - | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
355 | 360 | | |
356 | 361 | | |
357 | 362 | | |
| |||
365 | 370 | | |
366 | 371 | | |
367 | 372 | | |
368 | | - | |
369 | | - | |
| 373 | + | |
| 374 | + | |
370 | 375 | | |
371 | 376 | | |
372 | 377 | | |
| |||
466 | 471 | | |
467 | 472 | | |
468 | 473 | | |
469 | | - | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
470 | 481 | | |
471 | 482 | | |
472 | 483 | | |
473 | 484 | | |
474 | | - | |
475 | | - | |
| 485 | + | |
| 486 | + | |
476 | 487 | | |
477 | 488 | | |
478 | 489 | | |
| |||
0 commit comments