Author: mreutegg
Date: Mon Jan 6 15:05:27 2014
New Revision: 1555846
URL: http://svn.apache.org/r1555846
Log:
OAK-1244: Always create new UUID on ImportBehavior.IMPORT_UUID_CREATE_NEW
- document different behavior of IMPORT_UUID_CREATE_NEW
Modified:
jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md
Modified: jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md?rev=1555846&r1=1555845&r2=1555846&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md (original)
+++ jackrabbit/oak/trunk/oak-doc/src/site/markdown/differences.md Mon Jan 6
15:05:27 2014
@@ -188,6 +188,15 @@ there are ideas to implement a feature f
In the meanwhile we have [basic
support](https://issues.apache.org/jira/browse/OAK-203) for same
name siblings but that might not cover all cases.
+XML Import
+----------
+
+The import behavior for
[`IMPORT_UUID_CREATE_NEW`](http://www.day.com/maven/jsr170/javadocs/jcr-2.0/javax/jcr/ImportUUIDBehavior.html#IMPORT_UUID_CREATE_NEW)
in Oak is implemented slightly different compared to Jackrabbit. Jackrabbit
2.x only creates a new UUID when it detects an existing conflicting node with
the same UUID. Oak always creates a new UUID, even if there is no conflicting
node. The are mainly two reasons why this is done in Oak:
+
+* The implementation in Oak is closer to what the JCR specification says:
*Incoming nodes are assigned newly created identifiers upon addition to the
workspace. As a result, identifier collisions never occur.*
+* Oak uses a MVCC model where a session operates on a snapshot of the
repository. It is therefore very difficult to ensure new UUIDs only in case of
a conflict. Based on the snapshot view of a session, an existing node with a
conflicting UUID may not be visible until commit.
+
+
Security
--------