[jboss-jira] [JBoss JIRA] (AS7-6105) Shutdown process hangs using thread pool executor

Eiichi Nagai (JIRA) jira-events at lists.jboss.org
Fri Dec 7 01:27:17 EST 2012


Eiichi Nagai created AS7-6105:
---------------------------------

             Summary: Shutdown process hangs using thread pool executor
                 Key: AS7-6105
                 URL: https://issues.jboss.org/browse/AS7-6105
             Project: Application Server 7
          Issue Type: Bug
          Components: Web
    Affects Versions: 7.1.3.Final (EAP), 7.1.1.Final
            Reporter: Eiichi Nagai
            Assignee: Remy Maucherat


When AJP connecotr uses thread pool executor configuration[1], AJP's worker thread is waited by AjpProcessor.read()[2]. QueueExecuter recognizes it as active thread. Therefor, unless httpd server shut down, EAP server shutdown process does not finish forever. 

[1] standalone.xml
        <subsystem xmlns="urn:jboss:domain:threads:1.1">
            <bounded-queue-thread-pool name="http-executor">
                <queue-length count="1"/>
                <max-threads count="1"/>
            </bounded-queue-thread-pool>
        </subsystem>
--- snip ---
        <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" executor="http-executor"/>
            <virtual-server name="default-host" enable-welcome-root="true">
                <alias name="localhost"/>
                <alias name="example.com"/>
            </virtual-server>
        </subsystem>

[2]
"http-executor-threads - 1" prio=6 tid=0x55515000 nid=0x20c0 runnable [0x5590f000]
   java.lang.Thread.State: RUNNABLE
   at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:1131)
   at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:1213)
   at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:451)
   at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:519)
   at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
   at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801)
   at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
   at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821)
   at java.lang.Thread.run(Thread.java:662)
   at org.jboss.threads.JBossThread.run(JBossThread.java:122)

--
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


More information about the jboss-jira mailing list