[
https://issues.apache.org/jira/browse/JCR-3387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13415031#comment-13415031
]
Claus Köll commented on JCR-3387:
---------------------------------
I have tested with set PoolPreparedStatements(false) and we see the exception
more rarely. I have found that in dbcp the DelegatingStatement, which wraps up
the PoolablePreparedStatement, closes all its ResultSets on statement.close().
So it looks like that we get the same pooled preparedstatement in different
threads or global transactions and if the first ResultSet is closed all
ResultSets opened from the same Statement will also be closed.
> On heavy load we see occasional SQLException: closed statement: next
> --------------------------------------------------------------------
>
> Key: JCR-3387
> URL: https://issues.apache.org/jira/browse/JCR-3387
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core
> Affects Versions: 2.4.2
> Reporter: Claus Köll
> Assignee: Claus Köll
>
> We are running jackrabbit against a oracle db. On heavy load we see
> occasional following stacktrace:
> at $Proxy24.next(Unknown Source)
> at
> org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceManager.loadBundle(BundleDbPersistenceManager.java:888)
> at
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:758)
> at
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.getBundle(AbstractBundlePersistenceManager.java:741)
> at
> org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.load(AbstractBundlePersistenceManager.java:479)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.loadItemState(SharedItemStateManager.java:1832)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.getNonVirtualItemState(SharedItemStateManager.java:1752)
> at
> org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:268)
> at
> org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:110)
> at
> org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:175)
> ...
> Caused by: java.lang.reflect.InvocationTargetException
> at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
> at java.lang.reflect.Method.invoke(Method.java:611)
> at
> org.apache.jackrabbit.core.util.db.ResultSetWrapper.invoke(ResultSetWrapper.java:66)
> ... 32 more
> Caused by: java.sql.SQLException: Geschlossene Ergebnismenge: next
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
> at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
> at
> oracle.jdbc.driver.OracleResultSetImpl.next(OracleResultSetImpl.java:175)
> at
> org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
> at
> org.apache.commons.dbcp.DelegatingResultSet.next(DelegatingResultSet.java:207)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira