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