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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content