Skip to content
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

index failed to restore after jvm kill in Orient 1.6.4 plocal embedded database #2091

Closed
aruld opened this issue Mar 5, 2014 · 1 comment

Comments

@aruld
Copy link

aruld commented Mar 5, 2014

An index failed to restore after crash

Mar 04, 2014 2:44:44 PM com.orientechnologies.common.log.OLogManager log
SEVERE: Error during addition of index {type:NOTUNIQUE,algorithm:SBTREE,valueContainerAlgorithm:SBTREEBONSAISET,name:UnderwriterDownloadReset.UploadedDocument,indexDefinition:{className:UnderwriterDownloadReset,field:UploadedDocument,keyType:LINK,collate:default},indexDefinitionClass:com.orientechnologies.orient.core.index.OPropertyListIndexDefinition,clusters:[1],mapRid:#1:109}
com.orientechnologies.orient.core.exception.OStorageException: File with id 0 does not exist.
    at com.orientechnologies.orient.core.index.hashindex.local.cache.OWOWCache.openFile(OWOWCache.java:194)
    at com.orientechnologies.orient.core.index.hashindex.local.cache.OReadWriteDiskCache.openFile(OReadWriteDiskCache.java:125)
    at com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsai.load(OSBTreeBonsai.java:477)
    at com.orientechnologies.orient.core.db.record.ridset.sbtree.OIndexRIDContainerSBTree.<init>(OIndexRIDContainerSBTree.java:58)
    at com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemory(OStreamSerializerSBTreeIndexRIDContainer.java:210)
    at com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemory(OStreamSerializerSBTreeIndexRIDContainer.java:35)
    at com.orientechnologies.orient.core.index.sbtree.local.OSBTreeBucket.getEntry(OSBTreeBucket.java:221)
    at com.orientechnologies.orient.core.index.sbtree.local.OSBTree.loadEntriesBetween(OSBTree.java:1069)
    at com.orientechnologies.orient.core.index.engine.OSBTreeIndexEngine.size(OSBTreeIndexEngine.java:490)
    at com.orientechnologies.orient.core.index.OIndexMultiValues.getSize(OIndexMultiValues.java:457)
    at com.orientechnologies.orient.core.index.OIndexRebuildOutputListener.onCompletition(OIndexRebuildOutputListener.java:59)
    at com.orientechnologies.orient.core.index.OIndexAbstract.rebuild(OIndexAbstract.java:595)
    at com.orientechnologies.orient.core.index.OIndexManagerShared$1.run(OIndexManagerShared.java:425)
    at java.lang.Thread.run(Thread.java:744)

One index failed to restore after crash:

INFO: 129 indexes were restored successfully, 1 errors

Connecting via console reported this exception

orientdb> connect plocal:../../play-app/orientdb admin admin   
Connecting to database [plocal:../../play-app/orientdb] with user 'admin'...
2014-03-04 14:52:44:957 WARN segment file 'database.ocf' was not closed correctly last time [OSingleFileSegment]
2014-03-04 14:52:45:047 WARN Storage floifydb was not closed properly. Will try to restore from write ahead log. [OLocalPaginatedStorage]
2014-03-04 14:52:45:054 WARN Record OCheckpointEndRecord{lsn=OLogSequenceNumber{segment=9, position=54980227}} will be skipped during data restore. [OLocalPaginatedStorage]
2014-03-04 14:52:46:031 SEVE getDataSegmentIdByName: Local paginated storage does not support data segments. -1 will be returned for data segment index. [OLocalPaginatedStorage]
2014-03-04 14:52:46:049 SEVE addDataSegment: Local paginated storage does not support data segments, segment index will not be added in directory null. [OLocalPaginatedStorage]Error during addition of index {type:NOTUNIQUE,algorithm:SBTREE,valueContainerAlgorithm:SBTREEBONSAISET,name:UnderwriterDownloadReset.UploadedDocument,indexDefinition:{className:UnderwriterDownloadReset,field:UploadedDocument,keyType:LINK,collate:default},indexDefinitionClass:com.orientechnologies.orient.core.index.OPropertyListIndexDefinition,clusters:[1],mapRid:#1:109}
File with id 0 does not exist.
-> com.orientechnologies.orient.core.index.hashindex.local.cache.OWOWCache.openFile(OWOWCache.java:194)
-> com.orientechnologies.orient.core.index.hashindex.local.cache.OReadWriteDiskCache.openFile(OReadWriteDiskCache.java:125)
-> com.orientechnologies.orient.core.index.sbtreebonsai.local.OSBTreeBonsai.load(OSBTreeBonsai.java:477)
-> com.orientechnologies.orient.core.db.record.ridset.sbtree.OIndexRIDContainerSBTree.<init>(OIndexRIDContainerSBTree.java:58)
-> com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemory(OStreamSerializerSBTreeIndexRIDContainer.java:210)
-> com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemory(OStreamSerializerSBTreeIndexRIDContainer.java:35)
-> com.orientechnologies.orient.core.index.sbtree.local.OSBTreeBucket.getEntry(OSBTreeBucket.java:221)
-> com.orientechnologies.orient.core.index.sbtree.local.OSBTree.loadEntriesBetween(OSBTree.java:1069)
-> com.orientechnologies.orient.core.index.engine.OSBTreeIndexEngine.size(OSBTreeIndexEngine.java:490)
-> com.orientechnologies.orient.core.index.OIndexMultiValues.getSize(OIndexMultiValues.java:457)
-> com.orientechnologies.orient.core.index.OIndexRebuildOutputListener.onCompletition(OIndexRebuildOutputListener.java:59)
-> com.orientechnologies.orient.core.index.OIndexAbstract.rebuild(OIndexAbstract.java:595)
-> com.orientechnologies.orient.core.index.OIndexManagerShared$1.run(OIndexManagerShared.java:425)
-> java.lang.Thread.run(Thread.java:744)OK
@laa
Copy link
Member

laa commented Mar 5, 2014

That is because fsync of file-id map was absent, but is fixed in 1.7-rc

@laa laa closed this as completed Mar 5, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants