Hi Mark,

How can I disable it?

2015-07-16 13:56 GMT-03:00 Mark Thomas <ma...@apache.org>:

> On 16 July 2015 16:37:53 CEST, Robert Anderson <ranom...@gmail.com> wrote:
> >Hi,
> >
> >Sometimes, in moments of high traffic for our patterns (170 req/sec),
> >we
> >have a lot of threads like that:
> >
> >"ajp-apr-8009-exec-115 ^ 16/07/2015 - 11:13:37 - End of Execute" daemon
> >prio=10 tid=0x00002aaab5c36800 nid=0x12f9 waiting on condition
> >[0x000000004ddcb000]
> >   java.lang.Thread.State: TIMED_WAITING (parking)
> >at sun.misc.Unsafe.park(Native Method)
> >- parking to wait for  <0x0000000609a53198> (a
> >java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> >at
> >java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
> >at
>
> >java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
> >at
>
> >java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
> >at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86)
> >at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32)
> >at
>
> >java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
> >at
>
> >java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
> >at
>
> >java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >at
>
> >org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >at java.lang.Thread.run(Thread.java:745)
> >
> >Thus, Tomcat hangs (all available threads stay in that state) and we
> >have
> >to restart the service.
> >
> >Server version: Apache Tomcat/7.0.63
> >Server built:   Jun 30 2015 08:08:33 UTC
> >Server number:  7.0.63.0
> >OS Name:        Linux
> >OS Version:     2.6.18-194.17.1.el5
> >Architecture:   amd64
> >JVM Version:    1.7.0_80-b15
> >JVM Vendor:     Oracle Corporation
> >
> >We are using tomcat-native (APR connector) and Apache (2.2.3) as load
> >balancer with mod_jk.
> >
> >
> >server.xml
> >
> ><?xml version='1.0' encoding='utf-8'?>
> ><Server port="8005" shutdown="SHUTDOWN">
> >  <Listener className="org.apache.catalina.core.AprLifecycleListener"
> >SSLEngine="off" />
> >  <Listener className="org.apache.catalina.core.JasperListener" />
> >  <Listener
> >className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
> >  <Listener
> >className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
> >/>
> >  <Listener
> >className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"
> >/>
> >  <GlobalNamingResources>
> >    <Resource name="UserDatabase" auth="Container"
> >              type="org.apache.catalina.UserDatabase"
> >              description="User database that can be updated and saved"
> >          factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
> >              pathname="conf/tomcat-users.xml" />
> >  </GlobalNamingResources>
> >
> >  <Service name="Catalina">
> >
> >    <Connector port="8080" protocol="HTTP/1.1"
> >               connectionTimeout="20000"
> >               redirectPort="8443" />
> > <Connector port="8009" enableLookups="false" connectionTimeout="60000"
> >protocol="AJP/1.3" redirectPort="8443" />
> >
> >   <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomsrv04">
> >
> >      <Realm className="org.apache.catalina.realm.LockOutRealm">
> >        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
> >               resourceName="UserDatabase" digest="SHA"/>
> >      </Realm>
> >
> >      <Host name="localhost"  appBase="webapps"
> >            unpackWARs="true" autoDeploy="true">
> >
> ><Valve className="org.apache.catalina.valves.StuckThreadDetectionValve"
> >threshold="60" interruptThreadThreshold="120" />
> >      </Host>
> >    </Engine>
> >  </Service>
> ></Server>
> >
> >
> >Any suggestions?
> >
> >
> >Thanks in advance.
> >
> >
> >Robert
>
> Short since I'm on my phone.
>
>  Connection exhaustion?
>
> Disable connection reuse or use NIO.
>
> Mark

Reply via email to