-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OLockException On Index Cluster #1538
Comments
How many concurrent clients/thread do you have? Are you using the remote connection, right? |
The main performance test uses one connection per thread, and we start seeing the issue reliably when we get up to about 5 threads, though that changes depending on how many records we configure it to deal with. The code that was posted is a single thread/single connection but still produces the exception. And yes, we are using a remote connection. |
Please, can you retest it against 1.5.0-SNAPSHOT? If not I would like to fix this in 1.5 |
Ok, so I'm closing it. If the error persists please reopen/comment this. |
We retested it and we're not seeing this issue. It's good to be closed. |
Great! |
We are running a performance test of Orient that acts like a stress test (doing many operations in sequence as fast as we can). For the tests that interact with classes that have indexes, we eventually run into an OLockException on cluster #1 (which is the index cluster).
We posted on the forum but got no response (https://groups.google.com/forum/?fromgroups#!topic/orient-database/RTBceLiDA9E), so as I believe it to be a bug we are creating an issue. The forum post has a main method that will run a number of test iterations that will eventually produce a similar error to the one our performance test generates (that particular error is detailed on the forum post).
My guess is that we are stressing the system so that updates to the index are causing reads to timeout. That is purely a guess, though.
The exception we are seeing is as follows:
com.orientechnologies.common.concur.lock.OLockException: Thread interrupted while waiting for resource '#1:7'
at com.orientechnologies.common.concur.lock.OLockManager.acquireLock(OLockManager.java:108)
at com.orientechnologies.common.concur.lock.OLockManager.acquireLock(OLockManager.java:71)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.updateRecord(OStorageLocal.java:1852)
at com.orientechnologies.orient.core.storage.impl.local.OStorageLocal.updateRecord(OStorageLocal.java:1174)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:279)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:776)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:77)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:264)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:37)
at com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:312)
at com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:303)
at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeEntryDataProviderAbstract.save(OMVRBTreeEntryDataProviderAbstract.java:166)
at com.orientechnologies.orient.core.type.tree.provider.OMVRBTreeEntryDataProviderAbstract.save(OMVRBTreeEntryDataProviderAbstract.java:156)
at com.orientechnologies.orient.core.type.tree.OMVRBTreeEntryPersistent.save(OMVRBTreeEntryPersistent.java:185)
at com.orientechnologies.orient.core.type.tree.OMVRBTreePersistent.commitChanges(OMVRBTreePersistent.java:530)
at com.orientechnologies.orient.core.type.tree.OMVRBTreeDatabaseLazySave.lazySave(OMVRBTreeDatabaseLazySave.java:70)
at com.orientechnologies.orient.core.index.OIndexMVRBTreeAbstract.lazySave(OIndexMVRBTreeAbstract.java:579)
at com.orientechnologies.orient.core.index.OIndexMVRBTreeAbstract.flush(OIndexMVRBTreeAbstract.java:110)
at com.orientechnologies.orient.core.index.OIndexManagerProxy.flush(OIndexManagerProxy.java:97)
at com.orientechnologies.orient.core.index.OIndexManagerAbstract.flush(OIndexManagerAbstract.java:154)
at com.orientechnologies.orient.core.metadata.OMetadata.close(OMetadata.java:195)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.close(ODatabaseRecordAbstract.java:232)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.close(ODatabaseWrapperAbstract.java:69)
at com.orientechnologies.orient.server.OClientConnection.close(OClientConnection.java:46)
at com.orientechnologies.orient.server.OClientConnectionManager.disconnect(OClientConnectionManager.java:216)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.shutdown(ONetworkProtocolBinary.java:1463)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:50)
OrientDB release? 1.4.1
What steps will reproduce the problem?
The text was updated successfully, but these errors were encountered: