You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by mr...@apache.org on 2013/04/30 10:17:31 UTC
svn commit: r1477503 -
/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java
Author: mreutegg
Date: Tue Apr 30 08:17:30 2013
New Revision: 1477503
URL: http://svn.apache.org/r1477503
Log:
OAK-619 Lock-free MongoMK implementation
- Conflict handling
Modified:
jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java
Modified: jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java?rev=1477503&r1=1477502&r2=1477503&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java (original)
+++ jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/Collision.java Tue Apr 30 08:17:30 2013
@@ -22,6 +22,8 @@ import javax.annotation.Nonnull;
import org.apache.jackrabbit.mongomk.util.Utils;
import org.apache.jackrabbit.oak.commons.PathUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkNotNull;
@@ -31,6 +33,8 @@ import static com.google.common.base.Pre
*/
class Collision {
+ private static final Logger log = LoggerFactory.getLogger(Collision.class);
+
private final Map<String, Object> document;
private final String theirRev;
private final UpdateOp ourOp;
@@ -64,7 +68,6 @@ class Collision {
}
}
}
- // TODO: detect concurrent commit of previously un-merged changes
return true;
}
@@ -81,7 +84,11 @@ class Collision {
UpdateOp op = new UpdateOp(commitRootPath,
Utils.getIdFromPath(commitRootPath), false);
op.setMapEntry(UpdateOp.COLLISIONS, revision, true);
+ // TODO: detect concurrent commit of previously un-merged changes
+ // TODO: check _commitRoot for revision is not 'true'
store.createOrUpdate(DocumentStore.Collection.NODES, op);
+ log.debug("Marked collision on: {} for {} ({})",
+ new Object[]{commitRootPath, p, revision});
return true;
}
}