Mantis - Resin
Viewing Issue Advanced Details
1286 major always 08-11-06 01:37 03-29-07 16:46
plehov  
ferg  
normal  
closed 3.0.20  
fixed  
none    
none 3.0.24  
0001286: CMP 2.1 Relation do not close and return connection to pool.
log:

[11:27:04.640] com.caucho.ejb.FinderExceptionWrapper: com.caucho.amber.AmberRuntimeException: com.cau
cho.sql.SQLExceptionWrapper: javax.resource.ResourceException: Connection pool is full. Can't alloca
te connection.
[11:27:04.640] at com.caucho.ejb.FinderExceptionWrapper.create(FinderExceptionWrapper.java:98)
[11:27:04.640] at com.caucho.ejb.entity.EntityServer.getContext(EntityServer.java:695)
[11:27:04.640] at _ejb.CustomerAll.CustomerAllBean__EJB$LocalHome.findByPrimaryKey(CustomerAllBean__
EJB.java:428)
[11:27:04.640] at ua.umc.action.UserEditAction.unspecified(UserEditAction.java:275)
[11:27:04.640] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[11:27:04.640] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[11:27:04.640] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
[11:27:04.640] at java.lang.reflect.Method.invoke(Method.java:585)
[11:27:04.640] at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
[11:27:04.640] at ua.umc.jrm.common.struts.MultiDispatchAction.execute(MultiDispatchAction.java:144)

[11:27:04.640] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.ja
va:431)
[11:27:04.640] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
[11:27:04.640] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
[11:27:04.640] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
[11:27:04.640] at javax.servlet.http.HttpServlet.service(HttpServlet.java:115)
[11:27:04.640] at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
[11:27:04.640] at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106
)
[11:27:04.640] at com.caucho.server.security.SecurityFilterChain.doFilter(SecurityFilterChain.java:1
35)
[11:27:04.640] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
[11:27:04.640] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
[11:27:04.640] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
[11:27:04.640] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
[11:27:04.640] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
[11:27:04.640] at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
[11:27:04.640] at java.lang.Thread.run(Thread.java:595)
[11:27:04.640] Caused by: com.caucho.amber.AmberRuntimeException: com.caucho.sql.SQLExceptionWrapper:
 javax.resource.ResourceException: Connection pool is full. Can't allocate connection.
[11:27:04.640] at _ejb.CustomerAll.CustomerAllBean__Amber.__caucho_load_0(CustomerAllBean__Amber.jav
a:1238)
[11:27:04.640] at _ejb.CustomerAll.CustomerAllBean__Amber.__caucho_retrieve(CustomerAllBean__Amber.j
ava:1116)
[11:27:04.640] at com.caucho.amber.entity.AmberEntityHome.findEntityItem(AmberEntityHome.java:328)
[11:27:04.640] at com.caucho.ejb.entity.EntityServer.getContext(EntityServer.java:646)
[11:27:04.640] ... 23 more
[11:27:23.968] Closing dangling connections. All connections must have a close() in a finally block.

[11:27:23.968] destroy com.caucho.sql.ManagedConnectionImpl@489670
[11:27:23.968] destroy com.caucho.sql.ManagedConnectionImpl@19d56e9
[11:27:23.968] destroy com.caucho.sql.ManagedConnectionImpl@19bf7d0
[11:27:23.984] destroy com.caucho.sql.ManagedConnectionImpl@3cb1e1
[11:27:23.984] destroy com.caucho.sql.ManagedConnectionImpl@1b6484c
[11:27:24.000] java.lang.IllegalStateException: Connection UserConnection[com.caucho.sql.ManagedConne
ctionImpl@489670] was not closed. Connections must have a close() in a finally block.
[11:27:24.000] at com.caucho.jca.UserTransactionImpl.abortTransaction(UserTransactionImpl.java:497)
[11:27:24.000] at com.caucho.jca.UserTransactionProxy.abortTransaction(UserTransactionProxy.java:183
)
[11:27:24.000] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:193)
[11:27:24.000] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
[11:27:24.000] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
[11:27:24.000] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
[11:27:24.000] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
[11:27:24.000] at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
[11:27:24.000] at java.lang.Thread.run(Thread.java:595)

Notes
(0001585)
plehov   
11-14-06 04:18   
what about this issue? 3.0.21 have the same issue.

(0001770)
ferg   
03-12-07 08:20   
When running resin-pro-3.0.23 against Java 1.5 I get the following stack trace in stdout.log whenever accessing an EJB (pretty much all my EJBs use container managed relationships).

[16:46:05.249] Closing dangling connections. All connections must have a close(
) in a finally block.
[16:46:05.265] java.lang.IllegalStateException: Connection UserConnection[com.ca
ucho.sql.ManagedConnectionImpl@c8570c] was not closed. Connections must have a c
lose() in a finally block.
[16:46:05.265] at com.caucho.jca.UserTransactionImpl.abortTransaction(UserTrans
actionImpl.java:497)
[16:46:05.265] at com.caucho.jca.UserTransactionProxy.abortTransaction(UserTran
sactionProxy.java:183)
[16:46:05.265] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFil
terChain.java:193)
[16:46:05.265] at com.caucho.server.dispatch.ServletInvocation.service(ServletI
nvocation.java:229)
[16:46:05.265] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.
java:274)
[16:46:05.265] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:5
11)
[16:46:05.265] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
[16:46:05.265] at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
[16:46:05.265] at java.lang.Thread.run(Thread.java:595)


The weird thing about this is that the application runs just fine. But, the stdout.log if filled up with this information. It looks as if a connection was not closed and thus thought this issue was related to the issue referenced in my previous email message. I now realize this might not necessarily be the case.

A
(0001797)
ferg   
03-29-07 16:46   
ejb/0ae1 for 3.0.24.

The change only applies to 3.0.x, since it has already been fixed in 3.1.1.