https://issues.apache.org/bugzilla/show_bug.cgi?id=55930
Bug ID: 55930
Summary: the backlog attribute of http bio connector does not
work
Product: Tomcat 7
Version: 7.0.47
Hardware: PC
Status: NEW
Severity: normal
Priority: P2
Component: Connectors
Assignee: [email protected]
Reporter: [email protected]
Created attachment 31153
--> https://issues.apache.org/bugzilla/attachment.cgi?id=31153&action=edit
in war file ,the servlet named indextest will sleep 60s
Hi,
I find a bug of http bio connector,you will find it in flowing steps:
1.set tomcat connector like this:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" acceptCount="1" maxThreads="1"
minSpareThreads="1"/>
2. deploy attach war file:test.war
3. use LR or JMeter send 3 requests: http://localhost:8080/test/indextest
4. use command jstack print current thread stack
NOTE: now the main thread stack like this:
"main" prio=6 tid=0x002aac00 nid=0x2e08 runnable [0x0025f000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
- locked <0x242cbaa8> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:462)
at java.net.ServerSocket.accept(ServerSocket.java:430)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:452)
at org.apache.catalina.startup.Catalina.await(Catalina.java:779)
at org.apache.catalina.startup.Catalina.start(Catalina.java:725)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
It state is RUNNABLE, not like xxxPark, it's not waiting for condition.
In another words, the main thread should not entering the
ServerSoccket.accept() method when the backlog works. It must reject the
request.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]