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:
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED],
[EMAIL PROTECTED]
        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)

Reply via email to