JBoss EAP 6.1 connector generates CLOSE_WAIT sockets when used with an executor
Issue
- We have configured our JBoss web subsystem's connector to use an executor for its thread pool. This is a non blocking, bounded queue executor with no hand off executor, for example:
<subsystem xmlns="urn:jboss:domain:threads:1.1">
<thread-factory name="http-connector-factory-a" group-name="http-a" thread-name-pattern="HTTP-%t" />
<bounded-queue-thread-pool name="web-a">
<core-threads count="2"/>
<queue-length count="2"/>
<max-threads count="2"/>
<thread-factory name="http-connector-factory-a"/>
</bounded-queue-thread-pool>
</subsystem>
<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" executor="web-a"/>
...
</subsystem>
- When this executor's thread pool and queue is full, JBoss starts generating CLOSE_WAIT sockets for subsequent, additional connections.
Environment
- JBoss Enterprise Application Platform (EAP) 6.1.1 and earlier
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.