Red Hat Bugzilla – Bug 1256607
[GSS] [6.4.z] mod_cluster undersizes the connection pool
Last modified: 2017-01-17 09:47:17 EST
### Description of problem:
If all threads in a httpd child worker process are saturated with long requests, then all connections in the pool are exhausted, likely leaving none available for additional pings, which then fail with errors like:
[error] (70007)The timeout specified has expired: proxy: ajp: failed to acquire connection for ...
### Steps to Reproduce:
1. Deploy a web application on EAP 6, which just do Thread.sleep() for a while
(for example, 10-15 seconds. just longer than lbstatus_recalc_time, 5 seconds)
long ms = 15000L;
System.out.println("going to sleep... : " + ms + " ms");
2. Repeat sending concurrent requests to the web app via mod_cluster by apache bench
(just exactly same concurrent number to MaxClients setting, or more than MaxClients)
When you set MaxClients to 30, then execute the following:
ab -c 30 -n 300 http://localhost/example/sleep.jsp
### Actual results:
You will see the "failed to acquire connection for ..." error message when status update is executed in background.
### Expected results:
No error message.
### Additional info:
I have merged the pull requests.
adding patch based on https://github.com/modcluster/mod_cluster/commit/978d637426b024a7303f4bdd01b388e3e34758eb
Built by: psakar
Task Info: https://brewweb.devel.redhat.com//taskinfo?taskID=9809711
Build Info: https://brewweb.devel.redhat.com//buildinfo?buildID=455551
mod_cluster-native-1.2.11-3.Final.win6 successfully tagged into jb-ep-6-win-candidate by psakar
waiting for rhel natives before promotion to candidates
cp stream does not ship natives, oneoff patch required
Radoslav Husar <firstname.lastname@example.org> updated the status of jira MODCLUSTER-466 to Reopened
Michal Karm Babacek <email@example.com> updated the status of jira MODCLUSTER-466 to Resolved
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.