I have an interesting problem that occurs within 5-7 days interval.
The setup is a restlet server (http just forwarding to https) with jetty and
apache connector and a mysql db. The apache server is behind firewall on
separate ports (http and https). Restlet redirects web calls directly to the
apache server
When the error occurs the web page access stalls/hangs (but normal access to
restlet resources is ok). The thread dump is full of instances like the
below (hundreds). It seems to me that threads are waiting on a connection
pool, and is not terminated. 
I've used jmeter to stresstest the system, but are not able to recreate the
problem. 
Any suggestions on this one? 


State: WAITING on
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7c8a36b1
Total blocked: 0  Total waited: 3

Stack trace: 
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
org.apache.http.impl.conn.tsccm.WaitingThread.await(WaitingThread.java:159)
org.apache.http.impl.conn.tsccm.ConnPoolByRoute.getEntryBlocking(ConnPoolByRoute.java:398)
org.apache.http.impl.conn.tsccm.ConnPoolByRoute$1.getPoolEntry(ConnPoolByRoute.java:298)
org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager$1.getConnection(ThreadSafeClientConnManager.java:238)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:422)
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:106)
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
org.restlet.ext.httpclient.internal.HttpMethodCall.sendRequest(HttpMethodCall.java:339)
org.restlet.engine.adapter.ClientAdapter.commit(ClientAdapter.java:105)
org.restlet.engine.adapter.HttpClientHelper.handle(HttpClientHelper.java:119)
org.restlet.Client.handle(Client.java:153)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Router.doHandle(Router.java:422)
org.restlet.routing.Router.handle(Router.java:641)
org.restlet.engine.component.ComponentClientDispatcher.doHandle(ComponentClientDispatcher.java:129)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.engine.util.ChildClientDispatcher.parentHandle(ChildClientDispatcher.java:139)
org.restlet.engine.util.ChildClientDispatcher.doHandle(ChildClientDispatcher.java:112)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.engine.util.ChildClientDispatcher.parentHandle(ChildClientDispatcher.java:139)
org.restlet.engine.util.ChildClientDispatcher.doHandle(ChildClientDispatcher.java:112)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Redirector.serverRedirect(Redirector.java:516)
org.restlet.routing.Redirector.outboundServerRedirect(Redirector.java:394)
org.restlet.routing.Redirector.handle(Redirector.java:328)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Router.doHandle(Router.java:422)
org.restlet.routing.Router.handle(Router.java:641)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)
org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:77)
org.restlet.Application.handle(Application.java:385)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Router.doHandle(Router.java:422)
org.restlet.routing.Router.handle(Router.java:641)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Router.doHandle(Router.java:422)
org.restlet.routing.Router.handle(Router.java:641)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:140)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.routing.Filter.doHandle(Filter.java:150)
org.restlet.routing.Filter.handle(Filter.java:197)
org.restlet.engine.CompositeHelper.handle(CompositeHelper.java:202)
org.restlet.Component.handle(Component.java:408)
org.restlet.Server.handle(Server.java:507)
org.restlet.engine.connector.ServerHelper.handle(ServerHelper.java:63)
org.restlet.engine.adapter.HttpServerHelper.handle(HttpServerHelper.java:143)
org.restlet.ext.jetty.JettyServerHelper$WrappedServer.handle(JettyServerHelper.java:256)
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
java.lang.Thread.run(Thread.java:745)



--
View this message in context: 
http://restlet-discuss.1400322.n2.nabble.com/Connection-pool-in-waiting-threads-not-terminated-tp7579485.html
Sent from the Restlet Discuss mailing list archive at Nabble.com.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3229002

Reply via email to