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/03/26 16:51:12 UTC
svn commit: r1461193 -
/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java
Author: mreutegg
Date: Tue Mar 26 15:51:12 2013
New Revision: 1461193
URL: http://svn.apache.org/r1461193
Log:
OAK-619 Lock-free MongoMK implementation
- read pending branches in init()
Modified:
jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java
Modified: jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java?rev=1461193&r1=1461192&r2=1461193&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java (original)
+++ jackrabbit/oak/trunk/oak-mongomk/src/main/java/org/apache/jackrabbit/mongomk/prototype/MongoMK.java Tue Mar 26 15:51:12 2013
@@ -201,6 +201,23 @@ public class MongoMK implements MicroKer
n = new Node("/", headRevision);
commit.addNode(n);
commit.applyToDocumentStore();
+ } else {
+ // initialize branchCommits
+ Map<String, Object> nodeMap = store.find(
+ DocumentStore.Collection.NODES, Utils.getIdFromPath("/"));
+ @SuppressWarnings("unchecked")
+ Map<String, String> valueMap = (Map<String, String>) nodeMap.get(UpdateOp.REVISIONS);
+ if (valueMap != null) {
+ for (Map.Entry<String, String> commit : valueMap.entrySet()) {
+ if (!commit.getValue().equals("true")) {
+ Revision r = Revision.fromString(commit.getKey());
+ if (r.getClusterId() == clusterId) {
+ Revision b = Revision.fromString(commit.getValue());
+ branchCommits.put(r, b);
+ }
+ }
+ }
+ }
}
}