Calling Workspace.move() may cause inconsistent client state
------------------------------------------------------------
Key: JCR-2472
URL: https://issues.apache.org/jira/browse/JCR-2472
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: jackrabbit-jcr2spi
Affects Versions: 2.0-beta6
Reporter: Stefan Guggisberg
the following code fragment causes a PathNotFoundException on an existing path
and there seems to be no way to recover the session from this incorrect state:
// assuming an existing nt:file node at path /apps/foo/bar.txt
Node n1 = session.getNode("/apps/foo/bar.txt");
Node n2 = n1.getNode("jcr:content");
n2.setProperty("jcr:data", new
java.io.ByteArrayInputStream(((String)("blahblah")).getBytes()));
n2.save();
Workspace ws0 = session.getWorkspace();
ws0.move("/apps/foo", "/apps/foo1");
Node n3 = session.getNode("/apps/foo1/bar.txt");
Node n4 = n3.getNode("jcr:content");
n4.refresh(false);
Node n5 = n3.getNode("jcr:content"); // => PathNotFoundException
Please note that the preceeding Node.refresh() call seems to cause the
inconsistency.
the problem doesn't occur when omitting this call.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.