Bug 1256608 - mod_cluster undersizes the connection pool
mod_cluster undersizes the connection pool
Status: CLOSED DUPLICATE of bug 1338642
Product: JBoss Enterprise Web Server 2
Classification: JBoss
Component: mod_cluster (Show other bugs)
2.1.0
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Weinan Li
Michal Karm Babacek
:
Depends On: 1338642 1256607
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-25 02:21 EDT by Masafumi Miura
Modified: 2016-06-01 11:09 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1256607
Environment:
Last Closed: 2016-05-30 13:39:52 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker MODCLUSTER-466 Major Resolved mod_cluster undersizes the connection pool on httpd 2.2 2016-06-01 12:17 EDT

  None (edit)
Description Masafumi Miura 2015-08-25 02:21:25 EDT
+++ This bug was initially created as a clone of Bug #1256607 +++

### 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");
        Thread.sleep(ms);
        System.out.println("done!");
    %>
    ~~~

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:

https://issues.jboss.org/browse/MODCLUSTER-466
Comment 1 JBoss JIRA Server 2016-05-24 14:00:21 EDT
Radoslav Husar <rhusar@redhat.com> updated the status of jira MODCLUSTER-466 to Reopened
Comment 2 Michal Karm Babacek 2016-05-30 13:39:52 EDT

*** This bug has been marked as a duplicate of bug 1338642 ***
Comment 3 JBoss JIRA Server 2016-06-01 11:09:21 EDT
Michal Karm Babacek <mbabacek@redhat.com> updated the status of jira MODCLUSTER-466 to Resolved

Note You need to log in before you can comment on or make changes to this bug.