Re: different a thread status in tomcat7,tomcat8

2017-09-27 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

박원석,

On 9/26/17 5:29 AM, 박원석 wrote:
> Hello, I'm operating some services under this environment.
> 
> 1. server OS : RHEL 6.x JVM : 1.8.0_x WEB : httpd 2.2.24 WAS :
> tomcat-8.0.44(tomcat-native1.2.14) 2. server OS : RHEL 6.x JVM :
> 1.8.0_x WEB : httpd 2.2.24 WAS :
> tomcat-7.0.75(tomcat-native1.2.14)
> 
>   port="8009" protocol="AJP/1.3" redirectPort="9443" 
> URIEncoding="UTF-8" acceptCount="200" acceptorThreadCount="2"
> maxThreads="300" minSpareThreads="50"
> *connectionTimeout="15000*"/>
> 
> 
> I can see a RUNNABLE thread in my tomcat8.0.44  server that waits
> keep alive timeout(connectionTimeout) status.
> 
> 
> *only tomcat8 ===ajp-apr-8009-exec-8 (RUNNABLE)* - 42 
> 
> 
> org.apache.tomcat.jni.Socket.recvbb(Native Method) 
> org.apache.coyote.ajp.AjpAprProcessor.readSocket(AjpAprProcessor.java:
256)
>
> 
org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:197)
> org.apache.coyote.ajp.AbstractAjpProcessor.readMessage(AbstractAjpProc
essor.java:1091)
>
> 
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.
java:804)
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
bstractProtocol.java:684)
>
> 
org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(Ap
rEndpoint.java:2458)
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
ava:1142)
>
> 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:617)
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
ead.java:61)
>
> 
java.lang.Thread.run(Thread.java:745)
> 
> 
> but I can't see a RUNNABLE thread in my tomcat7.0.75 server that
> server service a reguest and exactly change to TIMED_WATING status
> . why differnt beetween tomcat7 and tomcat8 ??
> 
> 
> *ajp-apr-8009-exec-5 (TIMED_WAITING)* - 39 
> 
> 
> sun.misc.Unsafe.park(Native Method) 
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
>
> 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.aw
aitNanos(AbstractQueuedSynchronizer.java:2078)
> java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java
:467)
>
> 
org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
> org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31) 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.jav
a:1066)
>
> 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.jav
a:1127)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
java:617)
>
> 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThrea
d.java:61)
> java.lang.Thread.run(Thread.java:745)
> 

In Tomcat 8 you appear to be using the APR connector with the tcnative
library. I can tell from this part of your stack trace:

> org.apache.tomcat.jni.Socket.recvbb(Native Method) 
> org.apache.coyote.ajp.AjpAprProcessor.readSocket(AjpAprProcessor.java:
256)
>
> 
org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:197)
> org.apache.coyote.ajp.AbstractAjpProcessor.readMessage(AbstractAjpProc
essor.java:1091)
>
> 
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.
java:804)

In your Tomcat 7 environment, you are also using the APR connector
(look at the thread name) but it looks like that particular thread is
waiting for more work (i.e. not in keepalive-wait).

I think you are looking at two different situations, here.

- -chris
-BEGIN PGP SIGNATURE-
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlnLtVwACgkQHPApP6U8
pFiqYw//VIhIt2m+3nzczJlR1A949x8l81ODdjbRB0R/vCwUTpHomi1ae7PnrrBK
SEu53i78jIJ8egMmUq2E5DsVfMz7NVKr5lbzXrFKSO3fBAgppZ+YqPGQ59AkVRs0
78rZEhzPh/2xfrjH5/DGH1bNJq+HiZYwcvzBspn/7Yl4fAAecpho5B8Fr2/s2HyS
ysBCvJsPPLpCQrfu1bAygzSHlgAui7l6bvTFIMp/eD9ZDPx4B+aiv45/KdnNJhJP
tOEyWJRPxyCFCxL4n2dLapSGAR/l1fbNaYQlCdJ6ekmEvG8X/QiCqPImAIJdihrp
fYyLB3NN2rddy3dho9bjvoDm5BKyc4PtxBmsMmtdYU8uxi2+xQwGEWtEND2TdlCo
3dAzNMa/tHLERFwrBq4vzz6cUelKcineXbtxOACnvig48JsIjj+O5Ggt0ZQOAWDc
cFteLu+k0E1GfTZVqThMI10sT+FqyAz4Lrfhg5KYyjVg2AYCVmvKEizHVp4lpbqo
ERqpm9hU2/Ri7hU7VJ8RHnQW1b5ge2zbbTTVgMX009cSdzvbHnVbIRZZ3VDRhWqH
9ZB3Jg/2rmuOWhimynfyr4IVDLhppIo+TgtAjoIvN5WBNva9ph4eXGG5fbtWugsz
5Q7T28Y+nl1O3Rq+GZvhcGpZAthl/QCVyVV6IP+q66b0D5mE5Rc=
=F9/o
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



different a thread status in tomcat7,tomcat8

2017-09-26 Thread 박원석
Hello, I'm operating some services under this environment.

1. server
OS : RHEL 6.x
JVM : 1.8.0_x
WEB : httpd 2.2.24
WAS : tomcat-8.0.44(tomcat-native1.2.14)
2. server
OS : RHEL 6.x
JVM : 1.8.0_x
WEB : httpd 2.2.24
WAS : tomcat-7.0.75(tomcat-native1.2.14)

  
  


I can see a RUNNABLE thread in my tomcat8.0.44  server that waits keep
alive timeout(connectionTimeout) status.


*only tomcat8 ===ajp-apr-8009-exec-8 (RUNNABLE)* - 42


org.apache.tomcat.jni.Socket.recvbb(Native Method)
org.apache.coyote.ajp.AjpAprProcessor.readSocket(AjpAprProcessor.java:256)
org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:197)
org.apache.coyote.ajp.AbstractAjpProcessor.readMessage(AbstractAjpProcessor.java:1091)
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:804)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2458)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)


but I can't see a RUNNABLE thread in my tomcat7.0.75 server that server
service a reguest and exactly change to TIMED_WATING status . why differnt
beetween tomcat7 and tomcat8 ??


*ajp-apr-8009-exec-5 (TIMED_WAITING)* - 39


sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)