You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Claus Köll (JIRA)" <ji...@apache.org> on 2012/07/16 13:42:34 UTC

[jira] [Commented] (JCR-3387) On heavy load we see occasional SQLException: closed statement: next

    [ 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