You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Stefan Guggisberg <st...@gmail.com> on 2006/06/20 12:31:34 UTC

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> As I'm looking to current code, this exception is thrown with
> SessionItemStateManager, because associated instances of
> TransientItemStateManager and TransientItemStateManager haven'n this
> item.
>
> I don't understand what createItemInstance method in item manager does -
> first called method is for getting state of newly creating item:
>
>         try {
>             state = itemStateProvider.getItemState(id);
>         } catch (NoSuchItemStateException nsise) {
>             throw new ItemNotFoundException(id.toString());
>         }
> But how can  item has such state when we are in method for creating this
> item, so the item doesn't exist yet?

ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
expose the javax.jcr.Item et al interfaces. so if there's no state, it
can't create
an ItemImpl wrapper. that's all fine.

regarding your problem: please provide a simple test case which reproduces your
issue.

cheers
stefan





>
> Thanks,
>
> Martin
>
> Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > Hello,
> >
> > I'm adding recursively nodes, but this leads to exception occasionally:
> > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> >       at
> > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> >       at
> > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> >       at
> > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> >       at
> > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> >       at
> > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> >
> >
> > My code is:
> > for (int i = 0; i < nodeNames.length; i++) {
> >           relPath = nodeNames[i];
> >                 if (workNode.hasNode(relPath) == false) {
> >                     Node node = workNode.addNode(relPath);
> >                     workNode = node;
> >                 } else {
> >                     workNode = workNode.getNode(relPath);
> >                 }
> > }
> >
> > Unfortunately this behaviour is not reproducible with test and come on
> > accidentally.
> >
> > Thanks,
> >
> > Martin
> >
> >
> >
>
>

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Stefan Guggisberg <st...@gmail.com>.
On 6/21/06, Martin Koci <Ma...@aura.cz> wrote:
> No, every user has own instance of javax.jcr.Session and there is only
> one thread per user.

hmmm, very strange. with the derby pm it should be impossible to
corrupt the repository, even if the jvm dies a sudden death.

you're sure  you only have one repository instance using the same
configuration?

if you send me the log and perhaps the zipped repository home dir
i'll see if i can find any clues. i'd be very interested to know how you
got into this state.

cheers
stefan

>
> Is Jackrabbit creating new session for every login operation? If user
> perform login two times with same login and password, is new session
> created?

yes

>
> Stefan Guggisberg píše v St 21. 06. 2006 v 17:13 +0200:
> > On 6/21/06, Martin Koci <Ma...@aura.cz> wrote:
> > > Jackrabbit version is 1.0.1 and repository.xml is the same as in SVN
> > > codebase : jackrabbit/src/main/config/repository.xml
> >
> > are you sharing Session instances among multiple threads?
> >
> > >
> > > Stefan Guggisberg píše v St 21. 06. 2006 v 14:51 +0200:
> > > > On 6/20/06, Martin Koci <Ma...@aura.cz> 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 agree it shouldn't happen. what jackrabbit version are you refering to?
> > > > what's the configuration of your repository (PersistenceManager & FileSystem)?
> > > >
> > > > cheers
> > > > stefan
> > > >
> > > > > 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
> > > > >
> > > > > Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> > > > > > On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > > > > > > As I'm looking to current code, this exception is thrown with
> > > > > > > SessionItemStateManager, because associated instances of
> > > > > > > TransientItemStateManager and TransientItemStateManager haven'n this
> > > > > > > item.
> > > > > > >
> > > > > > > I don't understand what createItemInstance method in item manager does -
> > > > > > > first called method is for getting state of newly creating item:
> > > > > > >
> > > > > > >         try {
> > > > > > >             state = itemStateProvider.getItemState(id);
> > > > > > >         } catch (NoSuchItemStateException nsise) {
> > > > > > >             throw new ItemNotFoundException(id.toString());
> > > > > > >         }
> > > > > > > But how can  item has such state when we are in method for creating this
> > > > > > > item, so the item doesn't exist yet?
> > > > > >
> > > > > > ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> > > > > > instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> > > > > > expose the javax.jcr.Item et al interfaces. so if there's no state, it
> > > > > > can't create
> > > > > > an ItemImpl wrapper. that's all fine.
> > > > > >
> > > > > > regarding your problem: please provide a simple test case which reproduces your
> > > > > > issue.
> > > > > >
> > > > > > cheers
> > > > > > stefan
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Martin
> > > > > > >
> > > > > > > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > > > > > > Hello,
> > > > > > > >
> > > > > > > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > > > > > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > > > > > > >       at
> > > > > > > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > > > > > > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > > > > > > >       at
> > > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > > > > > > >       at
> > > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > > > > > > >       at
> > > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > > > > > > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > > > > > > >       at
> > > > > > > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > > > > > > >
> > > > > > > >
> > > > > > > > My code is:
> > > > > > > > for (int i = 0; i < nodeNames.length; i++) {
> > > > > > > >           relPath = nodeNames[i];
> > > > > > > >                 if (workNode.hasNode(relPath) == false) {
> > > > > > > >                     Node node = workNode.addNode(relPath);
> > > > > > > >                     workNode = node;
> > > > > > > >                 } else {
> > > > > > > >                     workNode = workNode.getNode(relPath);
> > > > > > > >                 }
> > > > > > > > }
> > > > > > > >
> > > > > > > > Unfortunately this behaviour is not reproducible with test and come on
> > > > > > > > accidentally.
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > >
> > > > > > > > Martin
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
>

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Martin Koci <Ma...@aura.cz>.
No, every user has own instance of javax.jcr.Session and there is only
one thread per user. 

Is Jackrabbit creating new session for every login operation? If user
perform login two times with same login and password, is new session
created?

Stefan Guggisberg píše v St 21. 06. 2006 v 17:13 +0200:
> On 6/21/06, Martin Koci <Ma...@aura.cz> wrote:
> > Jackrabbit version is 1.0.1 and repository.xml is the same as in SVN
> > codebase : jackrabbit/src/main/config/repository.xml
> 
> are you sharing Session instances among multiple threads?
> 
> >
> > Stefan Guggisberg píše v St 21. 06. 2006 v 14:51 +0200:
> > > On 6/20/06, Martin Koci <Ma...@aura.cz> 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 agree it shouldn't happen. what jackrabbit version are you refering to?
> > > what's the configuration of your repository (PersistenceManager & FileSystem)?
> > >
> > > cheers
> > > stefan
> > >
> > > > 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
> > > >
> > > > Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> > > > > On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > > > > > As I'm looking to current code, this exception is thrown with
> > > > > > SessionItemStateManager, because associated instances of
> > > > > > TransientItemStateManager and TransientItemStateManager haven'n this
> > > > > > item.
> > > > > >
> > > > > > I don't understand what createItemInstance method in item manager does -
> > > > > > first called method is for getting state of newly creating item:
> > > > > >
> > > > > >         try {
> > > > > >             state = itemStateProvider.getItemState(id);
> > > > > >         } catch (NoSuchItemStateException nsise) {
> > > > > >             throw new ItemNotFoundException(id.toString());
> > > > > >         }
> > > > > > But how can  item has such state when we are in method for creating this
> > > > > > item, so the item doesn't exist yet?
> > > > >
> > > > > ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> > > > > instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> > > > > expose the javax.jcr.Item et al interfaces. so if there's no state, it
> > > > > can't create
> > > > > an ItemImpl wrapper. that's all fine.
> > > > >
> > > > > regarding your problem: please provide a simple test case which reproduces your
> > > > > issue.
> > > > >
> > > > > cheers
> > > > > stefan
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Martin
> > > > > >
> > > > > > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > > > > > Hello,
> > > > > > >
> > > > > > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > > > > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > > > > > >       at
> > > > > > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > > > > > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > > > > > >       at
> > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > > > > > >       at
> > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > > > > > >       at
> > > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > > > > > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > > > > > >       at
> > > > > > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > > > > > >
> > > > > > >
> > > > > > > My code is:
> > > > > > > for (int i = 0; i < nodeNames.length; i++) {
> > > > > > >           relPath = nodeNames[i];
> > > > > > >                 if (workNode.hasNode(relPath) == false) {
> > > > > > >                     Node node = workNode.addNode(relPath);
> > > > > > >                     workNode = node;
> > > > > > >                 } else {
> > > > > > >                     workNode = workNode.getNode(relPath);
> > > > > > >                 }
> > > > > > > }
> > > > > > >
> > > > > > > Unfortunately this behaviour is not reproducible with test and come on
> > > > > > > accidentally.
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Martin
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
> 


Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Stefan Guggisberg <st...@gmail.com>.
On 6/21/06, Martin Koci <Ma...@aura.cz> wrote:
> Jackrabbit version is 1.0.1 and repository.xml is the same as in SVN
> codebase : jackrabbit/src/main/config/repository.xml

are you sharing Session instances among multiple threads?

>
> Stefan Guggisberg píše v St 21. 06. 2006 v 14:51 +0200:
> > On 6/20/06, Martin Koci <Ma...@aura.cz> 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 agree it shouldn't happen. what jackrabbit version are you refering to?
> > what's the configuration of your repository (PersistenceManager & FileSystem)?
> >
> > cheers
> > stefan
> >
> > > 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
> > >
> > > Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> > > > On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > > > > As I'm looking to current code, this exception is thrown with
> > > > > SessionItemStateManager, because associated instances of
> > > > > TransientItemStateManager and TransientItemStateManager haven'n this
> > > > > item.
> > > > >
> > > > > I don't understand what createItemInstance method in item manager does -
> > > > > first called method is for getting state of newly creating item:
> > > > >
> > > > >         try {
> > > > >             state = itemStateProvider.getItemState(id);
> > > > >         } catch (NoSuchItemStateException nsise) {
> > > > >             throw new ItemNotFoundException(id.toString());
> > > > >         }
> > > > > But how can  item has such state when we are in method for creating this
> > > > > item, so the item doesn't exist yet?
> > > >
> > > > ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> > > > instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> > > > expose the javax.jcr.Item et al interfaces. so if there's no state, it
> > > > can't create
> > > > an ItemImpl wrapper. that's all fine.
> > > >
> > > > regarding your problem: please provide a simple test case which reproduces your
> > > > issue.
> > > >
> > > > cheers
> > > > stefan
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Martin
> > > > >
> > > > > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > > > > Hello,
> > > > > >
> > > > > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > > > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > > > > >       at
> > > > > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > > > > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > > > > >       at
> > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > > > > >       at
> > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > > > > >       at
> > > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > > > > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > > > > >       at
> > > > > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > > > > >
> > > > > >
> > > > > > My code is:
> > > > > > for (int i = 0; i < nodeNames.length; i++) {
> > > > > >           relPath = nodeNames[i];
> > > > > >                 if (workNode.hasNode(relPath) == false) {
> > > > > >                     Node node = workNode.addNode(relPath);
> > > > > >                     workNode = node;
> > > > > >                 } else {
> > > > > >                     workNode = workNode.getNode(relPath);
> > > > > >                 }
> > > > > > }
> > > > > >
> > > > > > Unfortunately this behaviour is not reproducible with test and come on
> > > > > > accidentally.
> > > > > >
> > > > > > Thanks,
> > > > > >
> > > > > > Martin
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
>

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Martin Koci <Ma...@aura.cz>.
Jackrabbit version is 1.0.1 and repository.xml is the same as in SVN
codebase : jackrabbit/src/main/config/repository.xml

Stefan Guggisberg píše v St 21. 06. 2006 v 14:51 +0200:
> On 6/20/06, Martin Koci <Ma...@aura.cz> 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 agree it shouldn't happen. what jackrabbit version are you refering to?
> what's the configuration of your repository (PersistenceManager & FileSystem)?
> 
> cheers
> stefan
> 
> > 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
> >
> > Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> > > On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > > > As I'm looking to current code, this exception is thrown with
> > > > SessionItemStateManager, because associated instances of
> > > > TransientItemStateManager and TransientItemStateManager haven'n this
> > > > item.
> > > >
> > > > I don't understand what createItemInstance method in item manager does -
> > > > first called method is for getting state of newly creating item:
> > > >
> > > >         try {
> > > >             state = itemStateProvider.getItemState(id);
> > > >         } catch (NoSuchItemStateException nsise) {
> > > >             throw new ItemNotFoundException(id.toString());
> > > >         }
> > > > But how can  item has such state when we are in method for creating this
> > > > item, so the item doesn't exist yet?
> > >
> > > ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> > > instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> > > expose the javax.jcr.Item et al interfaces. so if there's no state, it
> > > can't create
> > > an ItemImpl wrapper. that's all fine.
> > >
> > > regarding your problem: please provide a simple test case which reproduces your
> > > issue.
> > >
> > > cheers
> > > stefan
> > >
> > >
> > >
> > >
> > >
> > > >
> > > > Thanks,
> > > >
> > > > Martin
> > > >
> > > > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > > > Hello,
> > > > >
> > > > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > > > >       at
> > > > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > > > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > > > >       at
> > > > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > > > >       at
> > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > > > >       at
> > > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > > > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > > > >       at
> > > > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > > > >
> > > > >
> > > > > My code is:
> > > > > for (int i = 0; i < nodeNames.length; i++) {
> > > > >           relPath = nodeNames[i];
> > > > >                 if (workNode.hasNode(relPath) == false) {
> > > > >                     Node node = workNode.addNode(relPath);
> > > > >                     workNode = node;
> > > > >                 } else {
> > > > >                     workNode = workNode.getNode(relPath);
> > > > >                 }
> > > > > }
> > > > >
> > > > > Unfortunately this behaviour is not reproducible with test and come on
> > > > > accidentally.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Martin
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
> 


Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Stefan Guggisberg <st...@gmail.com>.
On 6/20/06, Martin Koci <Ma...@aura.cz> 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 agree it shouldn't happen. what jackrabbit version are you refering to?
what's the configuration of your repository (PersistenceManager & FileSystem)?

cheers
stefan

> 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
>
> Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> > On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > > As I'm looking to current code, this exception is thrown with
> > > SessionItemStateManager, because associated instances of
> > > TransientItemStateManager and TransientItemStateManager haven'n this
> > > item.
> > >
> > > I don't understand what createItemInstance method in item manager does -
> > > first called method is for getting state of newly creating item:
> > >
> > >         try {
> > >             state = itemStateProvider.getItemState(id);
> > >         } catch (NoSuchItemStateException nsise) {
> > >             throw new ItemNotFoundException(id.toString());
> > >         }
> > > But how can  item has such state when we are in method for creating this
> > > item, so the item doesn't exist yet?
> >
> > ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> > instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> > expose the javax.jcr.Item et al interfaces. so if there's no state, it
> > can't create
> > an ItemImpl wrapper. that's all fine.
> >
> > regarding your problem: please provide a simple test case which reproduces your
> > issue.
> >
> > cheers
> > stefan
> >
> >
> >
> >
> >
> > >
> > > Thanks,
> > >
> > > Martin
> > >
> > > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > > Hello,
> > > >
> > > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > > >       at
> > > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > > >       at
> > > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > > >       at
> > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > > >       at
> > > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > > >       at
> > > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > > >
> > > >
> > > > My code is:
> > > > for (int i = 0; i < nodeNames.length; i++) {
> > > >           relPath = nodeNames[i];
> > > >                 if (workNode.hasNode(relPath) == false) {
> > > >                     Node node = workNode.addNode(relPath);
> > > >                     workNode = node;
> > > >                 } else {
> > > >                     workNode = workNode.getNode(relPath);
> > > >                 }
> > > > }
> > > >
> > > > Unfortunately this behaviour is not reproducible with test and come on
> > > > accidentally.
> > > >
> > > > Thanks,
> > > >
> > > > Martin
> > > >
> > > >
> > > >
> > >
> > >
> >
>
>

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Carlos Villegas <ca...@uniscope.jp>.
In my case, it was caused by concurrent access from different threads to 
the same session. This is not supported as warned by the spec.
I fixed that, but my repository was already corrupted. I patched 
NodeImpl.java as follows, but I think this change is dangerous, that's 
why I used it for a while and then reverted to the original version:

--- NodeImpl.java	(revision 379662)
+++ NodeImpl.java	(working copy)
@@ -650,7 +650,11 @@
              thisState.removePropertyName(propName);
              // remove property
              PropertyId propId = new PropertyId(thisState.getNodeId(), 
propName);
-            itemMgr.getItem(propId).setRemoved();
+            try {
+                itemMgr.getItem(propId).setRemoved();
+            } catch (ItemNotFoundException ne) {
+                // ignore it, node may be corrupted
+            }
          }

          // finally remove this node

Cheers,

Carlos

Martin Koci wrote:
> 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
> 
> 


Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Martin Koci <Ma...@aura.cz>.
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
> 


Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Carlos Villegas <ca...@uniscope.jp>.
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

Re: No item in ItemStateManager? Was: Strange exception: javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a

Posted by Martin Koci <Ma...@aura.cz>.
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

Stefan Guggisberg píše v Út 20. 06. 2006 v 12:31 +0200:
> On 6/19/06, Martin Koci <Ma...@aura.cz> wrote:
> > As I'm looking to current code, this exception is thrown with
> > SessionItemStateManager, because associated instances of
> > TransientItemStateManager and TransientItemStateManager haven'n this
> > item.
> >
> > I don't understand what createItemInstance method in item manager does -
> > first called method is for getting state of newly creating item:
> >
> >         try {
> >             state = itemStateProvider.getItemState(id);
> >         } catch (NoSuchItemStateException nsise) {
> >             throw new ItemNotFoundException(id.toString());
> >         }
> > But how can  item has such state when we are in method for creating this
> > item, so the item doesn't exist yet?
> 
> ItemManager#createItemInstance creates, as tis name implies, an ItemImpl
> instance. ItemImpl, NodeImpl and PropertyImpl wrap the state of an item and
> expose the javax.jcr.Item et al interfaces. so if there's no state, it
> can't create
> an ItemImpl wrapper. that's all fine.
> 
> regarding your problem: please provide a simple test case which reproduces your
> issue.
> 
> cheers
> stefan
> 
> 
> 
> 
> 
> >
> > Thanks,
> >
> > Martin
> >
> > Martin Koci píše v Po 19. 06. 2006 v 12:00 +0200:
> > > Hello,
> > >
> > > I'm adding recursively nodes, but this leads to exception occasionally:
> > > javax.jcr.ItemNotFoundException: d1a479a0-b822-43a3-8181-9380635fb02a
> > >       at
> > > org.apache.jackrabbit.core.ItemManager.createItemInstance(ItemManager.java:464)
> > >       at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:320)
> > >       at
> > > org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:794)
> > >       at
> > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:738)
> > >       at
> > > org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:685)
> > >       at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:1772)
> > >       at
> > > cz.aura.cms.preferences.impl.PreferencesServiceImpl.addRecursively(PreferencesServiceImpl.java:195)
> > >
> > >
> > > My code is:
> > > for (int i = 0; i < nodeNames.length; i++) {
> > >           relPath = nodeNames[i];
> > >                 if (workNode.hasNode(relPath) == false) {
> > >                     Node node = workNode.addNode(relPath);
> > >                     workNode = node;
> > >                 } else {
> > >                     workNode = workNode.getNode(relPath);
> > >                 }
> > > }
> > >
> > > Unfortunately this behaviour is not reproducible with test and come on
> > > accidentally.
> > >
> > > Thanks,
> > >
> > > Martin
> > >
> > >
> > >
> >
> >
>