Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-15454

Jena Oracle maximum open cursors exceeded

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.9.6-SNAPSHOT
    • Fix Version/s: 6.0-HF14, 7.3
    • Component/s: Core VCS

      Description

      Under Oracle 10 and 11 the jena code raise a maximum open cursors warning, then the transaction fails with the following errors:

      • continuing to commit other RMs
      • Unable to commit/rollback
      2014-10-03 17:05:22,180 WARN  [Nuxeo-Work-default-3] [org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener] connectionErrorOccurred called with null
      java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
      ORA-01000: maximum open cursors exceeded
      ORA-01000: maximum open cursors exceeded
      
      	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
      	at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
      	at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
      	at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
      	at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
      	at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
      	at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
      	at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:863)
      	at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153)
      	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)
      	at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
      	at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3677)
      	at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
      	at org.tranql.connector.jdbc.PreparedStatementHandle.execute(PreparedStatementHandle.java:177)
      	at com.hp.hpl.jena.db.impl.SQLCache.executeSQL(SQLCache.java:720)
      	at com.hp.hpl.jena.db.impl.PSet_TripleStore_RDB.find(PSet_TripleStore_RDB.java:870)
      	at com.hp.hpl.jena.db.impl.SpecializedGraph_TripleStore.find(SpecializedGraph_TripleStore.java:142)
      	at com.hp.hpl.jena.db.impl.SpecializedGraphBase.find(SpecializedGraphBase.java:28)
      	at com.hp.hpl.jena.db.impl.DBPropGraph.findPropGraphByName(DBPropGraph.java:249)
      	at com.hp.hpl.jena.db.DBConnection.containsModel(DBConnection.java:198)
      	at org.nuxeo.ecm.platform.relations.jena.JenaGraph.openGraph(JenaGraph.java:233)
      	at org.nuxeo.ecm.platform.relations.jena.JenaGraph.openGraph(JenaGraph.java:176)
      	at org.nuxeo.ecm.platform.relations.jena.JenaGraph.query(JenaGraph.java:880)
      	at org.nuxeo.ecm.platform.annotations.service.AnnotationQuery.getAnnotationsForURIs(AnnotationQuery.java:68)
      	at org.nuxeo.ecm.platform.annotations.service.AnnotationsServiceImpl.queryAnnotations(AnnotationsServiceImpl.java:177)
      	at org.nuxeo.ecm.platform.annotations.proxy.AnnotationServiceProxy.queryAnnotations(AnnotationServiceProxy.java:190)
      	at org.nuxeo.ecm.platform.annotations.repository.service.DocumentVersionnedGraphManager.copyGraphFor(DocumentVersionnedGraphManager.java:103)
      	at org.nuxeo.ecm.platform.annotations.repository.service.DocumentVersionnedGraphManager.copyGraphFor(DocumentVersionnedGraphManager.java:92)
      	at org.nuxeo.ecm.platform.annotations.repository.service.DocumentVersionnedGraphManager.manage(DocumentVersionnedGraphManager.java:79)
      	at org.nuxeo.ecm.platform.annotations.repository.service.VersionEventListener.handleEvent(VersionEventListener.java:61)
      	at org.nuxeo.ecm.core.event.impl.AsyncEventExecutor$ListenerWork.work(AsyncEventExecutor.java:172)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:351)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransactionAndCheckExceptions(AbstractWork.java:312)
      	at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:280)
      	at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:52)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      2014-10-03 17:05:22,202 ERROR [Nuxeo-Work-default-3] [org.nuxeo.ecm.platform.annotations.repository.service.DocumentVersionnedGraphManager] java.lang.RuntimeException: com.hp.hpl.jena.shared.JenaException: Exception during database access
      2014-10-03 17:05:22,211 ERROR [Nuxeo-Work-default-3] [org.apache.geronimo.transaction.manager.CommitTask] Unexpected exception committing org.apache.geronimo.connector.outbound.LocalXAResource@2024b043; continuing to commit other RMs
      javax.transaction.xa.XAException
      	at org.apache.geronimo.connector.outbound.LocalXAResource.commit(LocalXAResource.java:58)
      	at org.apache.geronimo.transaction.manager.CommitTask.run(CommitTask.java:63)
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commitResources(TransactionImpl.java:673)
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:321)
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$TransactionManagerWrapper.commit(NuxeoContainer.java:779)
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:657)
      	at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:312)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:375)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransactionAndCheckExceptions(AbstractWork.java:312)
      	at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:280)
      	at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:52)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: javax.resource.spi.LocalTransactionException: Unable to commit
      	at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionCommit(ManagedJDBCConnection.java:103)
      	at org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.commit(AbstractManagedConnection.java:199)
      	at org.apache.geronimo.connector.outbound.LocalXAResource.commit(LocalXAResource.java:56)
      	... 14 more
      Caused by: java.sql.SQLRecoverableException: Closed Connection
      	at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3817)
      	at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3857)
      	at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionCommit(ManagedJDBCConnection.java:92)
      	... 16 more
      2014-10-03 17:05:22,213 ERROR [Nuxeo-Work-default-3] [org.nuxeo.runtime.transaction.TransactionHelper] Unable to commit/rollback  org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl@44c09ff7
      javax.transaction.SystemException: Error during two phase commit
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commitResources(TransactionImpl.java:687)
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:321)
      	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$TransactionManagerWrapper.commit(NuxeoContainer.java:779)
      	at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:657)
      	at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:312)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:375)
      	at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransactionAndCheckExceptions(AbstractWork.java:312)
      	at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:280)
      	at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:52)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: javax.transaction.xa.XAException
      	at org.apache.geronimo.connector.outbound.LocalXAResource.commit(LocalXAResource.java:58)
      	at org.apache.geronimo.transaction.manager.CommitTask.run(CommitTask.java:63)
      	at org.apache.geronimo.transaction.manager.TransactionImpl.commitResources(TransactionImpl.java:673)
      	... 12 more
      Caused by: javax.resource.spi.LocalTransactionException: Unable to commit
      	at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionCommit(ManagedJDBCConnection.java:103)
      	at org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.commit(AbstractManagedConnection.java:199)
      	at org.apache.geronimo.connector.outbound.LocalXAResource.commit(LocalXAResource.java:56)
      	... 14 more
      Caused by: java.sql.SQLRecoverableException: Closed Connection
      	at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3817)
      	at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:3857)
      	at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionCommit(ManagedJDBCConnection.java:92)
      	... 16 more
      

      Can be seen on

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: