[
https://issues.jboss.org/browse/AS7-6105?page=com.atlassian.jira.plugin.s...
]
RH Bugzilla Integration updated AS7-6105:
-----------------------------------------
Bugzilla Update: Perform
Bugzilla References:
https://bugzilla.redhat.com/show_bug.cgi?id=882048
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.1.Final, 7.1.3.Final (EAP)
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