jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Koci <Martin.K...@aura.cz>
Subject Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
Date Wed, 21 Jun 2006 08:50:09 GMT
Hello Carlos,

do you know series of steps which lead to corrupted node? My code was
pretty simple, no concurrent access, no special operations but
repository is corrupted. I agree with you opinion than jackrabbit should
delete everything left despite inconsistencies. 

How did you solve this problem?

Thanks

Martin

Carlos Villegas píše v St 21. 06. 2006 v 09:47 +0900:
> I reported this before. The node is corrupted. In my case it looked like 
> the item was defined in some internal data structure of its parent but 
> the item itself didn't exist. Thus jackrabbit internal state is 
> inconsistent and in some parts of the code it tries to create some of 
> these non existent objects; but it fails because of the same inconsistency.
> I suggested that when deleting an item, jackrabbit should deal with 
> these inconsistencies and delete whatever is left. But the answer was 
> that the inconsistent state shouldn't have happened in the first place 
> :-(. Which, of course, doesn't solve the problem when I already have a 
> corrupted node and want to delete it or repair it.
> 
> Carlos
> 
> Martin Koci wrote:
> > Thanks for your answer.
> > 
> > Unfortunately my problem is not reproducible  with a test. I'm using
> > repository from production environment and that problem appears only
> > with that repository.
> > 
> > Probably repository is corrupted but this should never happen. I've
> > added method for removing problematic node but it leads to similar
> > exception:
> > javax.jcr.ItemNotFoundException: a156b553-accf-4137-85cb-93ed24d4c8d4
> > 	at
> > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:465)
> > 	at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:321)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:661)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:662)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:662)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:662)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:662)
> > 	at org.apache.jackrabbit.core.NodeImpl.onRemove(NodeImpl.java:662)
> > 	at
> > org.apache.jackrabbit.core.NodeImpl.removeChildNode(NodeImpl.java:626)
> > 	at
> > org.apache.jackrabbit.core.ItemImpl.internalRemove(ItemImpl.java:867)
> > 	at org.apache.jackrabbit.core.ItemImpl.remove(ItemImpl.java:1053)
> > 	at
> > cz.aura.cms.preferences.impl.PreferencesServiceImpl.deleteUserPreferenceNode(PreferencesServiceImpl.java:271)
> > 
> > Is there any chance to remove problematic nodes? And I don't understand
> > why item.remove() calls ItemManager.createItemInstance as shown in stack
> > trace above. 
> > 
> > Thanks for any help
> > Martin
> 


Mime
View raw message