Re: org.ozoneDB.ObjectNotFoundException: No such object ID:

Per Nyfelt <[email protected]> Tue, 22 Nov 2005 11:30:15 +0000
Newsgroups gmane.comp.java.ozone.user
Organization New Field Consulting
Message-ID <[email protected]>
Hi Rikard,

The reason is probably some harddisk problem. Are you using a journaling 
filesystem (e.g. reiserfs, ext3, ntfs) or a non-journaling (e.g. FAT32 or 
ext2)? 

For some options on recovering from a crash do a search on "recover" on the 
dev list. 

Another option would be to create a utility that surgically removes the entry 
for the missing object. This probably means creating a utility around 
org.ozoneDB.core.storage.wizardStore.IDTable.

Best regards,
Per


On Thursday 17 November 2005 16.12, Rikard Andersson wrote:
> Hi.
>
> Somehow I seem to have gotten a corrupt ozone database, how I am not
> sure. But I am looking for a way to fix it without having to delete the
> entire db. Leads on how the db may have been corrupt is appreciated as
> well.
>
> Scenario:
> I am able to get the name of the object from:
> String[] vNames = vLocalDatabase.objectNames(); // vLocalDatabase is
> org.ozoneDB.LocalDatabase
>
> But when I try to access the object with:
> vLocalDatabase.objectForName(vNames[CORRUPT_NBR]);
> I get the exception below, obviously same problem when I try to delete
> it, because I need access the object in order to delete it...
>
> And since I am not able to delete it, I cannot (or can I?) rewrite just
> the corrupt object.
>
> Any help, solving the issue is much appreciated.
>
> Br
> Rikard Andersson
>
> Exception:
> org.ozoneDB.ObjectNotFoundException: No such object ID: 119
>  at org.ozoneDB.core.Transaction.acquireObject(Unknown Source)
>  at org.ozoneDB.Database.fetch(Unknown Source)
>  at org.ozoneDB.blob.BLOBPageImpl_Proxy.size(BLOBPageImpl_Proxy.java:69)
>  at
> org.ozoneDB.blob.BLOBContainerImpl.available(BLOBContainerImpl.java:80)
>  at org.ozoneDB.blob.BLOBContainerImpl.read(BLOBContainerImpl.java:174)
>  at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:324)
>  at org.ozoneDB.core.AbstractObjectContainer.invokeTarget(Unknown
> Source)
>  at org.ozoneDB.core.Transaction.invokeObject(Unknown Source)
>  at org.ozoneDB.core.DbRemote.DbInvoke.perform(Unknown Source)
>  at org.ozoneDB.core.Transaction.performCommand(Unknown Source)
>  at org.ozoneDB.core.TransactionManager.performCommand(Unknown Source)
>  at org.ozoneDB.core.TransactionManager.completeTransaction(Unknown
> Source)
>  at org.ozoneDB.core.TransactionManager.handleCommand(Unknown Source)
>  at org.ozoneDB.core.DbRemote.DbLocalClient.send(Unknown Source)
>  at org.ozoneDB.ExternalDatabase.sendCommand(Unknown Source)
>  at org.ozoneDB.ExternalDatabase.sendCommand(Unknown Source)
>  at org.ozoneDB.ExternalDatabase.invoke(Unknown Source)
>  at
> org.ozoneDB.blob.BLOBContainerImpl_Proxy.read(BLOBContainerImpl_Proxy.ja
> va:220)
>  at org.ozoneDB.blob.BLOBInputStream.read(BLOBInputStream.java:62)
>  at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:60)
> ....


-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click