-
Notifications
You must be signed in to change notification settings - Fork 530
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Handle helper program startup failure as its death (#1395)
Squid quits when started helper programs die too fast without responding to requests[^1] because such a Squid instance is unlikely to provide acceptable service (and a full restart may actually fix the problem or, at the very least, is more likely to bring the needed admin attention). The same logic now applies when Squid fails to start a helper (i.e. when ipcCreate() fails). There is no conceptual difference between those two kinds of failures as far as helper handling code is concerned, so we now treat them the same way. Without these changes, helper start failures may result in an unusable (but running) Squid instance, especially if no helpers can be started at all, because new transactions get stuck waiting in the queue until clients timeout. Such persistent ipcCreate() failures may be caused, for example, by its fork() hitting an overcommit memory limits. [^1]: The actual condition excludes cases where at least startup=N helpers are still running. That exclusion and other helper failure handling details are problematic, but adjusting that code is outside _this_ fix scope: Here, we only apply _existing_ handling logic to a missed case.
- Loading branch information
1 parent
a1b1756
commit 654835f
Showing
2 changed files
with
47 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters