lorenzo created SM-2157:
---------------------------

             Summary: cxf-se rejected executions cause pending connections
                 Key: SM-2157
                 URL: https://issues.apache.org/jira/browse/SM-2157
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-cxf-se
    Affects Versions: 3.4.0
         Environment: Linux 3.2.0-2-amd64 #1 SMP x86_64 GNU/Linux
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
            Reporter: lorenzo


When a servicemix-cxf-se component rejects a request (with thread pool to 
maximum size and queue full) a socket in CLOSE_WAIT state is created for each 
rejected request.

This half-closed sockets quickly adds up leading to a "too many open files" 
exception (which causes a complete undeployment of all components, rendering 
the service unusable).

To reproduce the bug you can create a test webservice with a method like this

@WebMethod(operationName = "test", action = "urn:test")
public void test() {
 log.error("BEGIN LDocJobsService " + status);
 try {
  Thread.sleep(Long.MAX_VALUE);
 } catch (InterruptedException e) {}
 log.error("END LDocJobsService " + status);
}

Now invoke this method with a webservice client until you fill up the thread 
pool and the queue (I check for this using jconsole).
Each subsequent request gets rejected and a socket in CLOSE_WAIT remains 
pending on the server side.

If useful I can provide a working example but there's not much more than the 
code described above.



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to