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