geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Thorburn" <nzi...@gmail.com>
Subject Getting "Deque Full" error on Connection.close()
Date Tue, 29 Jul 2008 23:42:00 GMT
This is a bit strange - I seem to be getting a Deque Full error when I
try and close a connection. It doesn't happen all the time, and I only
just saw it for the first time a few days ago (in production...), and
bouncing Geronimo (stop/start) seemed to fix it. I can understand why
it might happen when I try to get a connection, but it shouldn't be
happening when I try and close one, surely? Doesn't seem terribly
logical.

Anyway, this occurred on Geronimo 1.1.1 while connected to a DB2
database, and the stack trace follows. I've replaced the names of the
classes we've written my MYCLASS_*, just to be on the safe side with
regards to confidentiality policies and whatnot.

My initial thought is that it's maybe a threading issue? If Thread A
tries to close a connection, but gets interrupted part-way through by
Thread B, which creates a connection, is that a potential way for this
to happen?  Also, is it likely to have been fixed in a later version
of Geronimo? Given how much trouble I've had finding
"SinglePoolConnectionInterceptor", I'd say it's at least moved
somewhere else...

Anyway, I've been told to find an answer today, and I guess I'm just
posting this in the hope that I'll get lucky and someone will answer
:).

Thanks all,

- Andrew Thorburn

Problem loading Queue Monitor java.lang.IllegalStateException: deque
is full: contents:
[org.apache.geronimo.connector.outbound.ManagedConnectionInfo@beb543,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@174682a,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@166aaeb,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@12ac92d,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@228908,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@c9dfbc,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@1972f40,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@1b48369,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@1d5381a,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@18ce535,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@787dae,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@9f44ce,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@1637a9e,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5e36db,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@15d46f4,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@3842c6,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@cee538,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@16a73c9,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@351ef4,
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@1191845]
 	at org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor$PoolDeque.add(SinglePoolConnectionInterceptor.java:232)
 	at org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor.internalReturn(SinglePoolConnectionInterceptor.java:155)
 	at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.returnConnection(AbstractSinglePoolConnectionInterceptor.java:119)
 	at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.returnConnection(TransactionEnlistingInterceptor.java:94)
 	at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.internalReturn(TransactionCachingInterceptor.java:109)
 	at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.returnConnection(TransactionCachingInterceptor.java:101)
	at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.returnConnection(ConnectionHandleInterceptor.java:71)
 	at org.apache.geronimo.connector.outbound.TCCLInterceptor.returnConnection(TCCLInterceptor.java:50)
 	at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.returnConnection(ConnectionTrackingInterceptor.java:82)
 	at org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener.connectionClosed(GeronimoConnectionEventListener.java:67)
 	at org.tranql.connector.AbstractManagedConnection.connectionClosed(AbstractManagedConnection.java:102)
 	at org.tranql.connector.jdbc.ConnectionHandle.close(ConnectionHandle.java:97)
 	at MYCLASS_5
 	at MYCLASS_4
	at MYCLASS_3
 	at MYCLASS_2
 	at MYCLASS_1
 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
 	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428)
 	at org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:104)
 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:830)
 	at org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:170)
 	at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
 	at org.apache.geronimo.jetty.JettyWebApplicationHandler.dispatch(JettyWebApplicationHandler.java:59)
 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
 	at org.mortbay.http.HttpServer.service(HttpServer.java:909)
 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:816)
 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982)
 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833)
 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

Mime
View raw message