reload apache2 with mpm_event cause scoreboard is full
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apache2 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Won't Fix
|
Undecided
|
Unassigned | ||
Xenial |
Won't Fix
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* apache2 reload can fill up the scorecard with graceful reastarting
workers to an amount that it is unable to serve more requests.
* Backport fix from upstream to avoid the issue
[Test Case]
* In comment #8 I outlined some steps to fill up the scorecard with
Gracefully stopping processes. But that never triggered the reported
bug of eventually breaking new requests for me (It is still good to
verify some busy tests on this part of the apache code)
-> Therefore one of the reporters of the bug tested the ppa quite a
while on his main machines that formerly were affected by the issue.
-> no clear "do this then X happens" test case steps
* Perform arbitrary additional functional tests on the package to make sure no regressions are visible
[Regression Potential]
* It is a rather complex code change in the mpm event handling.
Only the first change is to code, the other two are for the
documentation to match.
We tested some apache benchmarks to check the effect, but found neither
a positive nor negative impact in general (other than the bug being
resolved). Yet if people rely on very specific behavior of the mpm
handling that might change a bit.
It will change for the good of it, but always remember xkcd.com/1172
TL;DR: IMHO it clearly has a ">none" regression potential on the mpm
event handling
[Other Info]
* Since this is hard to test we had a 2+ week test on the ppa, see
comments c#8 - c#15
* It clearly is a fix for some (e.g. the reporter of the bug), but I'd
understand if the SRU Team would rate it as feature and deny it for an
SRU - depends on the POV, certainly worth to be reviewed at least.
----
On the clean install Ubuntu 14.04 with Apache without almost any client load the Apache server with the command "service apache2 reload" itself allocates slots marked with "Gracefully finishing" for which rejects new connections.
For full rejection of new requests is sufficient to perform 4x command "service apache2 reload".
Ubuntu 14.04.2 LTS
Apache 2.4.7-ubuntu4.4 (mpm_event)
Kernel 2.16.0-30-generic
Reproduce problem:
#######
1/ service apache2 start
_______
_______
.......
2/ service apache2 reload
.......
GGGGGGGGGGG_
_______
3/ service apache2 reload
___W___
GGGGGGGGGGG_
.......
4/ service apache2 reload
GGGGGGGGGGGGGGG
GGGGGGGGGGGGGGG
W______
5/ service apache2 reload -> Server Apache not responding
With logs in apache error log file:
... [mpm_event:error] [pid 9381:tid 1234563234] AH00485: scoreboard is full, not at MaxRequestWorkers
...
#######
My workaround was change to MPM module from "mpm_event" to "mpm_worker".
affects: | installation-report (Ubuntu) → apache2 (Ubuntu) |
tags: | added: server-next |
Changed in apache2 (Ubuntu Xenial): | |
status: | New → Confirmed |
Changed in apache2 (Ubuntu Trusty): | |
status: | New → Confirmed |
Changed in apache2 (Ubuntu Zesty): | |
status: | New → Fix Released |
Changed in apache2 (Ubuntu Xenial): | |
status: | Confirmed → Triaged |
Changed in apache2 (Ubuntu Xenial): | |
status: | Fix Committed → Triaged |
tags: | removed: server-next |
This bug has been discussed on the apache bug tracker :
https:/ /bz.apache. org/bugzilla/ show_bug. cgi?id= 53555
There seems to be no movement to fix this that I can see. there is a patch which seems to fix it for users up to a higher usage level.
https:/ /bz.apache. org/bugzilla/ attachment. cgi?id= 33158