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 >
