jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Unico Hommes (JIRA)" <j...@apache.org>
Subject [jira] [Created] (JCR-3501) Modified states must be untouched while cancelling an update
Date Sun, 27 Jan 2013 20:03:13 GMT
Unico Hommes created JCR-3501:
---------------------------------

             Summary: Modified states must be untouched while cancelling an update
                 Key: JCR-3501
                 URL: https://issues.apache.org/jira/browse/JCR-3501
             Project: Jackrabbit Content Repository
          Issue Type: Bug
            Reporter: Unico Hommes
            Assignee: Unico Hommes
            Priority: Critical


The overlayed states are touched when beginning an update, but when an update is cancelled
they are never untouched again. A subsequent external change to the same state is not merged
correctly because the item will not appear stale.

The problem causes data inconsistencies in the following example scenario:

remote.getNode("/test").addNode("a");
remote.save();
local.getNode("/test").addNode("b");
local.save();
local.getNode("/test").getNode("a").addNode("c");
local.save();
remote.getNode("/test").getNode("a").remove();
final Node d = local.getNode("/test").addNode("d");
try {
    remote.save(); // fails, but cancelling update leaves SISM in bad state
} catch (Exception e) {
    remote.refresh(false);
}
remote.getNode("/test").addNode("e");
local.save();
remote.save(); // succeeds but leaves repository inconsistencies


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message