Concurrent property modification sometimes doesn't fail
-------------------------------------------------------

                 Key: JCR-1552
                 URL: https://issues.apache.org/jira/browse/JCR-1552
             Project: Jackrabbit
          Issue Type: Bug
            Reporter: Thomas Mueller


The following test prints "Success":

       Session s1 = ...
       Session s2 = ...
       s1.getRootNode().setProperty("b", "0"); // init with zero
       s1.getRootNode().setProperty("b", (String) null); // delete
       s1.save();
       s1.getRootNode().setProperty("b", "1");
       s2.getRootNode().setProperty("b", "2");
       s1.save();
       s2.save();
       System.out.println("Success");

However  if the line marked "... // delete" is commented out, 
it fails with the following exception:

javax.jcr.InvalidItemStateException:
cafebabe-cafe-babe-cafe-babecafebabe/{}b: the item cannot be saved
because it has been modified externally.
       at 
org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:246)
       at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:928)
       at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:849)

It should fail in all cases. If we decide it shouldn't fail, it needs to be 
documented.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to