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 me...@apache.org on 2013/02/13 17:58:16 UTC
svn commit: r1445737 -
/jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java
Author: meteatamel
Date: Wed Feb 13 16:58:16 2013
New Revision: 1445737
URL: http://svn.apache.org/r1445737
Log:
OAK-619 Lock-free MongoMK implementation
Added a batch insert test for comparison
Modified:
jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java
Modified: jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java?rev=1445737&r1=1445736&r2=1445737&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java (original)
+++ jackrabbit/oak/trunk/oak-mongomk/src/test/java/org/apache/jackrabbit/mongomk/prototype/MongoDocumentStoreTest.java Wed Feb 13 16:58:16 2013
@@ -28,6 +28,11 @@ import org.apache.jackrabbit.mongomk.pro
import org.junit.Ignore;
import org.junit.Test;
+import com.mongodb.BasicDBObject;
+import com.mongodb.DBCollection;
+import com.mongodb.DBObject;
+import com.mongodb.WriteResult;
+
public class MongoDocumentStoreTest {
private static boolean MONGO_DB = false;
@@ -106,6 +111,54 @@ public class MongoDocumentStoreTest {
}
+ @Test
+ @Ignore
+ public void batchInsert() throws Exception {
+ if (!MONGO_DB) {
+ return;
+ }
+ doInsert(NODE_COUNT, true);
+ doInsert(NODE_COUNT, false);
+ }
+
+ private void doInsert(int n, boolean batch) throws Exception {
+ dropCollections();
+
+ DBCollection collection = MongoUtils.getConnection().getDB().getCollection("batchInsertTest");
+ DBObject index = new BasicDBObject();
+ index.put("_path", 1L);
+ DBObject options = new BasicDBObject();
+ options.put("unique", Boolean.TRUE);
+ collection.ensureIndex(index, options);
+
+ log("Inserting " + n + " batch? " + batch);
+ long start = System.currentTimeMillis();
+
+ if (batch) {
+ DBObject[] arr = new BasicDBObject[n];
+ for (int i = 0; i < n; i++) {
+ arr[i] = new BasicDBObject("_path", "/a" + i);
+ }
+ WriteResult result = collection.insert(arr);
+ if (result.getError() != null) {
+ log("Error: " + result.getError());
+ }
+ } else {
+ for (int i = 0; i < n; i++) {
+ WriteResult result = collection.insert(new BasicDBObject("_path", "/a" + i));
+ if (result.getError() != null) {
+ log("Error: " + result.getError());
+ }
+ }
+
+ }
+
+ long end = System.currentTimeMillis();
+ log("Done: " + (end - start) + "ms");
+
+ dropCollections();
+ }
+
private static void log(String s) {
if (NODE_COUNT < 100) {
return;