Author: mreutegg Date: Mon Jul 14 19:24:22 2014 New Revision: 1610489 URL: http://svn.apache.org/r1610489 Log: OAK-1967: Avoid collision marker update when already present
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java?rev=1610489&r1=1610488&r2=1610489&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java (original) +++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Collision.java Mon Jul 14 19:24:22 2014 @@ -126,6 +126,11 @@ class Collision { if (commitRoot.isCommitted(revision)) { return false; } + // check if there is already a collision marker + if (commitRoot.getLocalMap(NodeDocument.COLLISIONS).containsKey(revision)) { + // already marked + return true; + } NodeDocument.addCollision(op, revision); commitRoot = store.createOrUpdate(Collection.NODES, op); // check again on old document right before our update was applied