We to close the storage using the force option but that ends up breaking
the index and corrupting the database for good. Here is the exception we
get when restarting the application:
SEVERE: Error on using index idx-Blockinground-0-blockingKeyValue in query
'select from Blockinground-0 where blockingKeyValue = 'Noack.1978''.
Probably you need to rebuild indexes. Now executing query using cluster scan
java.lang.NullPointerException
at
com.orientechnologies.orient.core.index.sbtree.local.OSBTree.get(OSBTree.java:163)
at
com.orientechnologies.orient.core.index.engine.OSBTreeIndexEngine.get(OSBTreeIndexEngine.java:352)
at
com.orientechnologies.orient.core.index.OIndexMultiValues.get(OIndexMultiValues.java:62)
at
com.orientechnologies.orient.core.index.OIndexMultiValues.get(OIndexMultiValues.java:1)
at
com.orientechnologies.orient.core.index.OIndexAbstractDelegate.get(OIndexAbstractDelegate.java:76)
at
com.orientechnologies.orient.core.index.OIndexTxAwareMultiValue.get(OIndexTxAwareMultiValue.java:45)
at
com.orientechnologies.orient.core.index.OIndexTxAwareMultiValue.get(OIndexTxAwareMultiValue.java:1)
at
com.orientechnologies.orient.core.sql.operator.OQueryOperatorEquals.executeIndexQuery(OQueryOperatorEquals.java:131)
at
com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:701)
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)
On Tuesday, February 18, 2014 8:45:27 AM UTC-5, Odysseas wrote:
>
>
> We are transitioning our application from 1.6.3 to 1.7-rc1 and have run
> into an issue when re-deploying the application. When we first deploy the
> application everything is working fine but if we redeploy it, it doesn't
> seem
> to be shutting down properly because during the restart we are getting the
> following exception:
>
> Caused by:
> com.orientechnologies.orient.core.exception.OSerializationException: Cannot
> load database's configuration. The database seems to be corrupted.
> at
> com.orientechnologies.orient.core.storage.impl.local.OStorageConfigurationSegment.load(OStorageConfigurationSegment.java:74)
> at
> com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.addDefaultClusters(OLocalPaginatedStorage.java:1933)
> at
> com.orientechnologies.orient.core.storage.impl.local.paginated.OLocalPaginatedStorage.open(OLocalPaginatedStorage.java:191)
> ... 137 more
> Caused by: com.orientechnologies.common.concur.lock.OLockException: File
> '/mnt/sysnet/person-db/database.ocf' is locked by another process, maybe
> the database is in use by another process. Use the remote mode with a
> OrientDB server to allow multiple access to the same database.
> at
> com.orientechnologies.orient.core.storage.fs.OAbstractFile.lock(OAbstractFile.java:375)
> at
> com.orientechnologies.orient.core.storage.fs.OAbstractFile.openChannel(OAbstractFile.java:641)
> at
> com.orientechnologies.orient.core.storage.fs.OAbstractFile.open(OAbstractFile.java:141)
> at
> com.orientechnologies.orient.core.storage.impl.local.OSingleFileSegment.open(OSingleFileSegment.java:53)
> at
> com.orientechnologies.orient.core.storage.impl.local.OStorageConfigurationSegment.load(OStorageConfigurationSegment.java:54)
>
> During the shutdown process we close the pool first (OrientGraphFactory)
> and then shutdown the storage as before:
>
> final OStorage stg =
> Orient.instance().getStorage(entityStore.getStorageName());
> if (stg != null) {
> stg.close();
> }
>
> The close on the storage is performed successfully. What are we missing
> here? Is there a way to track who has the storage still open?
>
> Thanks,
> Odysseas
>
--
---
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.