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/11 11:35:53 UTC

svn commit: r1455087 - /jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java

Author: mreutegg
Date: Mon Mar 11 10:35:52 2013
New Revision: 1455087

URL: http://svn.apache.org/r1455087
Log:
OAK-619 Lock-free MongoMK implementation
- use new MongoMK in BaseMongoMicroKernelFixture

Modified:
    jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java

Modified: jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java?rev=1455087&r1=1455086&r2=1455087&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java (original)
+++ jackrabbit/oak/trunk/oak-it/mk/src/test/java/org/apache/jackrabbit/mk/test/BaseMongoMicroKernelFixture.java Mon Mar 11 10:35:52 2013
@@ -18,11 +18,10 @@ package org.apache.jackrabbit.mk.test;
 
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.mk.blobs.BlobStore;
-import org.apache.jackrabbit.mk.test.MicroKernelFixture;
 import org.apache.jackrabbit.mongomk.impl.MongoConnection;
-import org.apache.jackrabbit.mongomk.impl.MongoMicroKernel;
-import org.apache.jackrabbit.mongomk.impl.MongoNodeStore;
 import org.apache.jackrabbit.mongomk.impl.blob.MongoBlobStore;
+import org.apache.jackrabbit.mongomk.prototype.DocumentStore;
+import org.apache.jackrabbit.mongomk.prototype.MongoMK;
 
 import com.mongodb.BasicDBObject;
 import com.mongodb.DB;
@@ -38,9 +37,9 @@ public abstract class BaseMongoMicroKern
     protected static final String DB =
             System.getProperty("mongo.db", "MongoMKDB");
 
-    private static MongoConnection mongoConnection = null;
+    private MongoConnection mongoConnection = null;
 
-    public static MongoConnection getMongoConnection() throws Exception {
+    private MongoConnection getMongoConnection() throws Exception {
         if (mongoConnection == null) {
             mongoConnection = new MongoConnection(HOST, PORT, DB);
         }
@@ -49,13 +48,17 @@ public abstract class BaseMongoMicroKern
 
     @Override
     public boolean isAvailable() {
+        MongoConnection connection = null;
         try {
-            MongoConnection connection =
-                    BaseMongoMicroKernelFixture.getMongoConnection();
+            connection = new MongoConnection(HOST, PORT, DB);
             connection.getDB().command(new BasicDBObject("ping", 1));
             return true;
         } catch (Exception e) {
             return false;
+        } finally {
+            if (connection != null) {
+                connection.close();
+            }
         }
     }
 
@@ -65,12 +68,8 @@ public abstract class BaseMongoMicroKern
         DB db = connection.getDB();
         dropCollections(db);
 
-        MongoNodeStore nodeStore = new MongoNodeStore(db);
-        BlobStore blobStore = getBlobStore(db);
-        MicroKernel mk = new MongoMicroKernel(connection, nodeStore, blobStore);
-
         for (int i = 0; i < cluster.length; i++) {
-            cluster[i] = mk;
+            cluster[i] = new MongoMK(db, i);
         }
     }
 
@@ -83,6 +82,8 @@ public abstract class BaseMongoMicroKern
         try {
             DB db = getMongoConnection().getDB();
             dropCollections(db);
+            mongoConnection.close();
+            mongoConnection = null;
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -92,8 +93,6 @@ public abstract class BaseMongoMicroKern
 
     private void dropCollections(DB db) {
         db.getCollection(MongoBlobStore.COLLECTION_BLOBS).drop();
-        db.getCollection(MongoNodeStore.COLLECTION_COMMITS).drop();
-        db.getCollection(MongoNodeStore.COLLECTION_NODES).drop();
-        db.getCollection(MongoNodeStore.COLLECTION_SYNC).drop();
+        db.getCollection(DocumentStore.Collection.NODES.name()).drop();
     }
 }