You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Gert Vanthienen (JIRA)" <ji...@apache.org> on 2013/02/22 11:14:12 UTC

[jira] [Moved] (SMXCOMP-967) cxf-se rejected executions cause pending connections

     [ https://issues.apache.org/jira/browse/SMXCOMP-967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gert Vanthienen moved SM-2157 to SMXCOMP-967:
---------------------------------------------

          Component/s:     (was: servicemix-cxf-se)
                       servicemix-cxf-se
    Affects Version/s:     (was: 3.4.0)
                       2011.02
                  Key: SMXCOMP-967  (was: SM-2157)
              Project: ServiceMix Components  (was: ServiceMix)
    
> cxf-se rejected executions cause pending connections
> ----------------------------------------------------
>
>                 Key: SMXCOMP-967
>                 URL: https://issues.apache.org/jira/browse/SMXCOMP-967
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-cxf-se
>    Affects Versions: 2011.02
>         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
For more information on JIRA, see: http://www.atlassian.com/software/jira