>
> We are seeing various concurrent modification exceptions after moving to 
> 1.7-rc1. Once these start to occur, we then end up getting exceptions about 
> no more resources in the pool (example exception shown at the bottom). Do 
> you have any ideas as to why we are seeing these exceptions? They are 
> occurring during read operations so should we be using non transactional 
> connections for these operations?  I haven't investigate the OrientDB code 
> yet but I don't understand why the load operation turns into an add 
> operation in this step. Any clues would be highly appreciated. Thanks, 
> Odysseas
>
 
at 
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:314)
at 
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:291)
 

SEVERE: Error on releasing database 'person-db' in pool
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:894)
at java.util.HashMap$ValueIterator.next(HashMap.java:922)
at 
com.orientechnologies.orient.core.tx.OTransactionOptimistic.rollback(OTransactionOptimistic.java:252)
at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.rollback(ODatabaseRecordTx.java:163)
at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.rollback(ODatabaseDocumentTx.java:468)
at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTxPooled.close(ODatabaseDocumentTxPooled.java:95)
at 
org.openhie.openempi.entity.dao.orientdb.EntityDaoOrientdb.executeQuery(EntityDaoOrientdb.java:478)
 

and 

rientdb.java:473) - Failed while trying to query the system using entity: 
person due to 
com.orientechnologies.orient.core.exception.OTransactionException: Invalid 
state of the transaction. The transaction must be begun.
com.orientechnologies.orient.core.exception.OTransactionException: Invalid 
state of the transaction. The transaction must be begun.
at 
com.orientechnologies.orient.core.tx.OTransactionRealAbstract.checkTransaction(OTransactionRealAbstract.java:342)
at 
com.orientechnologies.orient.core.tx.OTransactionOptimistic.addRecord(OTransactionOptimistic.java:314)
at 
com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:291)
at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.load(ODatabaseRecordTx.java:203)
at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.load(ODatabaseRecordAbstract.java:1)
at 
com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:296)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fillSearchIndexResultSet(OCommandExecutorSQLSelect.java:832)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:716)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:614)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:139)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:354)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:328)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:313)
at 
com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:57)
at 
com.orientechnologies.orient.core.storage.OStorageEmbedded.executeCommand(OStorageEmbedded.java:96)
at 
com.orientechnologies.orient.core.storage.OStorageEmbedded.command(OStorageEmbedded.java:85)
at 
com.orientechnologies.orient.core.sql.query.OSQLQuery.run(OSQLQuery.java:69)
at 
com.orientechnologies.orient.core.sql.query.OSQLSynchQuery.run(OSQLSynchQuery.java:82)
at 
com.orientechnologies.orient.core.query.OQueryAbstract.execute(OQueryAbstract.java:29)
at 
com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.query(ODatabaseRecordAbstract.java:557)
at 
com.orientechnologies.orient.core.db.ODatabaseRecordWrapperAbstract.query(ODatabaseRecordWrapperAbstract.java:188)

com.orientechnologies.common.concur.lock.OLockException: Not more resources 
available in pool. Requested resource: plocal:/mnt/sysnet/person-db
at 
com.orientechnologies.common.concur.resource.OResourcePool.getResource(OResourcePool.java:46)
at 
com.orientechnologies.orient.core.db.ODatabasePoolAbstract.acquire(ODatabasePoolAbstract.java:93)
at 
com.orientechnologies.orient.core.db.ODatabasePoolAbstract.acquire(ODatabasePoolAbstract.java:78)
at 
com.orientechnologies.orient.core.db.ODatabasePoolBase.acquire(ODatabasePoolBase.java:105)
at 
com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.<init>(OrientBaseGraph.java:121)
at 
com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:37)
at 
com.tinkerpop.blueprints.impls.orient.OrientGraph.<init>(OrientGraph.java:54)
at 
com.tinkerpop.blueprints.impls.orient.OrientGraphFactory.getTx(OrientGraphFactory.java:49)

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to