JBoss EAP 6.1 connector generates CLOSE_WAIT sockets when used with an executor

Solution Verified - Updated -

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 of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.