Author: mreutegg
Date: Tue Jul 24 12:13:54 2018
New Revision: 1836549
URL: http://svn.apache.org/viewvc?rev=1836549&view=rev
Log:
OAK-7654: Remove usage of deprecated MongoDB Java driver 2.x API
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/RevisionEntry.java
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDbTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java
Tue Jul 24 12:13:54 2018
@@ -18,8 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import java.util.concurrent.TimeUnit;
-import com.mongodb.DB;
-import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
@@ -95,18 +93,6 @@ public abstract class MongoDocumentNodeS
/**
* Use the given MongoDB as backend storage for the DocumentNodeStore.
*
- * @param db the MongoDB connection
- * @return this
- * @deprecated use {@link #setMongoDB(MongoClient, String, int)} instead.
- */
- public T setMongoDB(@NotNull DB db,
- int blobCacheSizeMB) {
- return setMongoDB(mongoClientFrom(db), db.getName(), blobCacheSizeMB);
- }
-
- /**
- * Use the given MongoDB as backend storage for the DocumentNodeStore.
- *
* @param client the MongoDB connection
* @param dbName the database name
* @param blobCacheSizeMB the size of the blob cache in MB.
@@ -122,17 +108,6 @@ public abstract class MongoDocumentNodeS
/**
* Use the given MongoDB as backend storage for the DocumentNodeStore.
*
- * @param db the MongoDB connection
- * @return this
- * @deprecated use {@link #setMongoDB(MongoClient, String)} instead.
- */
- public T setMongoDB(@NotNull DB db) {
- return setMongoDB(mongoClientFrom(db), db.getName());
- }
-
- /**
- * Use the given MongoDB as backend storage for the DocumentNodeStore.
- *
* @param client the MongoDB connection
* @param dbName the database name
* @return this
@@ -257,12 +232,4 @@ public abstract class MongoDocumentNodeS
}
return thisBuilder();
}
-
- private static MongoClient mongoClientFrom(DB db) {
- Mongo mongo = db.getMongo();
- if (mongo instanceof MongoClient) {
- return (MongoClient) mongo;
- }
- throw new UnsupportedOperationException("DB must be constructed from
MongoClient");
- }
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentStore.java
Tue Jul 24 12:13:54 2018
@@ -1309,7 +1309,7 @@ public class MongoDocumentStore implemen
break;
}
}
- if (!doc.containsKey(Document.MOD_COUNT)) {
+ if (!doc.containsField(Document.MOD_COUNT)) {
doc.put(Document.MOD_COUNT, 1L);
target.put(Document.MOD_COUNT, 1L);
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/RevisionEntry.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/RevisionEntry.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/RevisionEntry.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/RevisionEntry.java
Tue Jul 24 12:13:54 2018
@@ -25,6 +25,7 @@ import org.bson.BSONObject;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.util.JSON;
@@ -102,6 +103,6 @@ public class RevisionEntry implements DB
@Override
public String toString() {
- return JSON.serialize(this);
+ return new BasicDBObject(revision.toString(), value).toJson();
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java
Tue Jul 24 12:13:54 2018
@@ -21,8 +21,6 @@ import java.util.concurrent.TimeUnit;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableSet;
-import com.mongodb.DB;
-import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
@@ -105,15 +103,6 @@ public class MongoConnection {
}
/**
- * Returns the {@link DB} as passed in the URI of the constructor.
- *
- * @return The {@link DB}.
- */
- public DB getDB() {
- return mongo.getDB(mongoURI.getDatabase());
- }
-
- /**
* Returns the {@link MongoDatabase} as passed in the URI of the
* constructor.
*
@@ -124,15 +113,6 @@ public class MongoConnection {
}
/**
- * Returns the {@link DB} with the given name.
- *
- * @return The {@link DB}.
- */
- public DB getDB(@NotNull String name) {
- return mongo.getDB(name);
- }
-
- /**
* Returns the {@link MongoDatabase} with the given name.
*
* @return The {@link MongoDatabase}.
@@ -218,25 +198,10 @@ public class MongoConnection {
* <li>{@link WriteConcern#ACKNOWLEDGED}: for single MongoDB
instance</li>
* </ul>
*
- * @param db the connection to MongoDB.
- * @return the default write concern to use for Oak.
- * @deprecated use {@link #getDefaultWriteConcern(Mongo)} instead.
- */
- public static WriteConcern getDefaultWriteConcern(@NotNull DB db) {
- return getDefaultWriteConcern(db.getMongo());
- }
-
- /**
- * Returns the default write concern depending on MongoDB deployment.
- * <ul>
- * <li>{@link WriteConcern#MAJORITY}: for a MongoDB replica set</li>
- * <li>{@link WriteConcern#ACKNOWLEDGED}: for single MongoDB
instance</li>
- * </ul>
- *
* @param client the connection to MongoDB.
* @return the default write concern to use for Oak.
*/
- public static WriteConcern getDefaultWriteConcern(@NotNull Mongo client) {
+ public static WriteConcern getDefaultWriteConcern(@NotNull MongoClient
client) {
WriteConcern w;
if (client.getReplicaSetStatus() != null) {
w = WriteConcern.MAJORITY;
@@ -255,29 +220,8 @@ public class MongoConnection {
*
* @param db the connection to MongoDB.
* @return the default write concern to use for Oak.
- * @deprecated use {@link #getDefaultReadConcern(Mongo, MongoDatabase)}
instead.
*/
- public static ReadConcern getDefaultReadConcern(@NotNull DB db) {
- ReadConcern r;
- if (checkNotNull(db).getMongo().getReplicaSetStatus() != null &&
isMajorityWriteConcern(db)) {
- r = ReadConcern.MAJORITY;
- } else {
- r = ReadConcern.LOCAL;
- }
- return r;
- }
-
- /**
- * Returns the default read concern depending on MongoDB deployment.
- * <ul>
- * <li>{@link ReadConcern#MAJORITY}: for a MongoDB replica set with
w=majority</li>
- * <li>{@link ReadConcern#LOCAL}: for other cases</li>
- * </ul>
- *
- * @param db the connection to MongoDB.
- * @return the default write concern to use for Oak.
- */
- public static ReadConcern getDefaultReadConcern(@NotNull Mongo client,
+ public static ReadConcern getDefaultReadConcern(@NotNull MongoClient
client,
@NotNull MongoDatabase db)
{
ReadConcern r;
if (checkNotNull(client).getReplicaSetStatus() != null &&
isMajorityWriteConcern(db)) {
@@ -294,35 +238,11 @@ public class MongoConnection {
* @param db the connection to MongoDB.
* @return true if the majority write concern has been configured; false
otherwise
*/
- public static boolean isMajorityWriteConcern(@NotNull DB db) {
- return
WriteConcern.MAJORITY.getWString().equals(db.getWriteConcern().getWObject());
- }
-
- /**
- * Returns true if the majority write concern is used for the given DB.
- *
- * @param db the connection to MongoDB.
- * @return true if the majority write concern has been configured; false
otherwise
- */
public static boolean isMajorityWriteConcern(@NotNull MongoDatabase db) {
return
WriteConcern.MAJORITY.getWString().equals(db.getWriteConcern().getWObject());
}
/**
- * Returns {@code true} if the default write concern on the {@code db} is
- * sufficient for Oak. On a replica set Oak expects at least w=2. For
- * a single MongoDB node deployment w=1 is sufficient.
- *
- * @param db the database.
- * @return whether the write concern is sufficient.
- * @deprecated use {@link #isSufficientWriteConcern(Mongo, WriteConcern)}
- * instead.
- */
- public static boolean hasSufficientWriteConcern(@NotNull DB db) {
- return isSufficientWriteConcern(checkNotNull(db).getMongo(),
db.getWriteConcern());
- }
-
- /**
* Returns {@code true} if the given write concern is sufficient for Oak.
On
* a replica set Oak expects at least w=2. For a single MongoDB node
* deployment w=1 is sufficient.
@@ -331,7 +251,7 @@ public class MongoConnection {
* @param wc the write concern.
* @return whether the write concern is sufficient.
*/
- public static boolean isSufficientWriteConcern(@NotNull Mongo client,
+ public static boolean isSufficientWriteConcern(@NotNull MongoClient client,
@NotNull WriteConcern wc) {
Object wObj = checkNotNull(wc).getWObject();
int w;
@@ -355,20 +275,6 @@ public class MongoConnection {
}
/**
- * Returns {@code true} if the default read concern on the {@code db} is
- * sufficient for Oak. On a replica set Oak expects majority or linear. For
- * a single MongoDB node deployment local is sufficient.
- *
- * @param db the database.
- * @return whether the read concern is sufficient.
- * @deprecated use {@link #isSufficientReadConcern(Mongo, ReadConcern)}
- * instead.
- */
- public static boolean hasSufficientReadConcern(@NotNull DB db) {
- return isSufficientReadConcern(checkNotNull(db).getMongo(),
db.getReadConcern());
- }
-
- /**
* Returns {@code true} if the given read concern is sufficient for Oak. On
* a replica set Oak expects majority or linear. For a single MongoDB node
* deployment local is sufficient.
@@ -377,7 +283,7 @@ public class MongoConnection {
* @param rc the read concern.
* @return whether the read concern is sufficient.
*/
- public static boolean isSufficientReadConcern(@NotNull Mongo client,
+ public static boolean isSufficientReadConcern(@NotNull MongoClient client,
@NotNull ReadConcern rc) {
ReadConcernLevel r = readConcernLevel(checkNotNull(rc));
if (client.getReplicaSetStatus() == null) {
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/AbstractMongoConnectionTest.java
Tue Jul 24 12:13:54 2018
@@ -47,7 +47,7 @@ public abstract class AbstractMongoConne
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
- MongoUtils.dropCollections(mongoConnection.getDB());
+ MongoUtils.dropCollections(mongoConnection.getDatabase());
setRevisionClock(getTestClock());
setClusterNodeInfoClock(getTestClock());
mk = newBuilder(mongoConnection.getMongoClient(),
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobTest.java
Tue Jul 24 12:13:54 2018
@@ -66,7 +66,7 @@ public class BlobTest {
void dropCollections() {
if (MONGO_DB) {
-
MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
Tue Jul 24 12:13:54 2018
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import java.io.IOException;
import java.io.PrintStream;
-import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
@@ -31,21 +30,19 @@ import com.google.common.collect.HashBiM
import com.google.common.collect.Maps;
import com.google.common.io.ByteStreams;
import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBAddress;
-import com.mongodb.DBCollection;
-import com.mongodb.DBObject;
-import com.mongodb.Mongo;
import com.mongodb.MongoClient;
-import com.mongodb.QueryBuilder;
+import com.mongodb.MongoClientURI;
import com.mongodb.WriteConcern;
+import com.mongodb.client.MongoCollection;
+import com.mongodb.client.MongoDatabase;
+import com.mongodb.client.model.Filters;
+
import org.junit.Ignore;
import org.junit.Test;
import static org.apache.jackrabbit.oak.commons.IOUtils.humanReadableByteCount;
import static org.junit.Assert.assertNotNull;
-
public class BlobThroughPutTest {
private static final int NO_OF_NODES = 100;
private static final int BLOB_SIZE = 1024 * 1024 * 2;
@@ -78,9 +75,9 @@ public class BlobThroughPutTest {
@Ignore
@Test
- public void performBenchMark() throws UnknownHostException,
InterruptedException {
- MongoClient local = new MongoClient(new DBAddress(localServer));
- MongoClient remote = new MongoClient(new DBAddress(remoteServer));
+ public void performBenchMark() throws InterruptedException {
+ MongoClient local = new MongoClient(new MongoClientURI(localServer));
+ MongoClient remote = new MongoClient(new MongoClientURI(remoteServer));
run(local, false, false);
run(local, true, false);
@@ -92,21 +89,21 @@ public class BlobThroughPutTest {
@Ignore
@Test
- public void performBenchMark_WriteConcern() throws UnknownHostException,
InterruptedException {
- Mongo mongo = new Mongo(new DBAddress(remoteServer));
- final DB db = mongo.getDB(TEST_DB1);
- final DBCollection nodes = db.getCollection("nodes");
- final DBCollection blobs = db.getCollection("blobs");
+ public void performBenchMark_WriteConcern() throws InterruptedException {
+ MongoClient mongo = new MongoClient(new MongoClientURI(remoteServer));
+ final MongoDatabase db = mongo.getDatabase(TEST_DB1);
+ final MongoCollection<BasicDBObject> nodes = db.getCollection("nodes",
BasicDBObject.class);
+ final MongoCollection<BasicDBObject> blobs = db.getCollection("blobs",
BasicDBObject.class);
int readers = 0;
int writers = 2;
for(WriteConcern wc : namedConcerns.keySet()){
- prepareDB(nodes,blobs);
+ prepareDB(nodes, blobs);
final Benchmark b = new Benchmark(nodes, blobs);
Result r = b.run(readers, writers, true, wc);
results.add(r);
}
- prepareDB(nodes,blobs);
+ prepareDB(nodes, blobs);
dumpResult();
}
@@ -121,15 +118,15 @@ public class BlobThroughPutTest {
}
}
- private void run(Mongo mongo, boolean useSameDB, boolean remote) throws
InterruptedException {
- final DB nodeDB = mongo.getDB(TEST_DB1);
- final DB blobDB = useSameDB ? mongo.getDB(TEST_DB1) :
mongo.getDB(TEST_DB2);
- final DBCollection nodes = nodeDB.getCollection("nodes");
- final DBCollection blobs = blobDB.getCollection("blobs");
+ private void run(MongoClient mongo, boolean useSameDB, boolean remote)
throws InterruptedException {
+ final MongoDatabase nodeDB = mongo.getDatabase(TEST_DB1);
+ final MongoDatabase blobDB = useSameDB ? mongo.getDatabase(TEST_DB1) :
mongo.getDatabase(TEST_DB2);
+ final MongoCollection<BasicDBObject> nodes =
nodeDB.getCollection("nodes", BasicDBObject.class);
+ final MongoCollection<BasicDBObject> blobs =
blobDB.getCollection("blobs", BasicDBObject.class);
for (int readers : READERS) {
for (int writers : WRITERS) {
- prepareDB(nodes,blobs);
+ prepareDB(nodes, blobs);
final Benchmark b = new Benchmark(nodes, blobs);
Result r = b.run(readers, writers, remote, WriteConcern.SAFE);
results.add(r);
@@ -137,18 +134,19 @@ public class BlobThroughPutTest {
}
}
- private void prepareDB(DBCollection nodes, DBCollection blobs) {
- MongoUtils.dropCollections(nodes.getDB());
- MongoUtils.dropCollections(blobs.getDB());
+ private void prepareDB(MongoCollection<BasicDBObject> nodes,
+ MongoCollection<BasicDBObject> blobs) {
+ MongoUtils.dropCollections(nodes.getNamespace().getDatabaseName());
+ MongoUtils.dropCollections(blobs.getNamespace().getDatabaseName());
createTestNodes(nodes);
}
- private void createTestNodes(DBCollection nodes) {
+ private void createTestNodes(MongoCollection<BasicDBObject> nodes) {
for (int i = 0; i < NO_OF_NODES; i++) {
- DBObject obj = new BasicDBObject("_id", i)
+ BasicDBObject obj = new BasicDBObject("_id", i)
.append("foo", "bar1" + i);
- nodes.insert(obj, WriteConcern.SAFE);
+ nodes.insertOne(obj);
}
}
@@ -194,8 +192,8 @@ public class BlobThroughPutTest {
}
private static class Benchmark {
- private final DBCollection nodes;
- private final DBCollection blobs;
+ private final MongoCollection<BasicDBObject> nodes;
+ private final MongoCollection<BasicDBObject> blobs;
private final Random random = new Random();
private final AtomicBoolean stopTest = new AtomicBoolean(false);
private final static byte[] DATA;
@@ -209,13 +207,14 @@ public class BlobThroughPutTest {
}
}
- private Benchmark(DBCollection nodes, DBCollection blobs) {
+ private Benchmark(MongoCollection<BasicDBObject> nodes,
+ MongoCollection<BasicDBObject> blobs) {
this.nodes = nodes;
this.blobs = blobs;
}
public Result run(int noOfReaders, int noOfWriters, boolean remote,
WriteConcern writeConcern) throws InterruptedException {
- boolean sameDB =
nodes.getDB().getName().equals(blobs.getDB().getName());
+ boolean sameDB =
nodes.getNamespace().getDatabaseName().equals(blobs.getNamespace().getDatabaseName());
List<Reader> readers = new ArrayList<Reader>(noOfReaders);
List<Writer> writers = new ArrayList<Writer>(noOfWriters);
@@ -299,7 +298,7 @@ public class BlobThroughPutTest {
waitForStart();
while (!stopTest.get()) {
int id = random.nextInt(NO_OF_NODES);
- DBObject o =
nodes.findOne(QueryBuilder.start("_id").is(id).get());
+ BasicDBObject o = nodes.find(Filters.eq("_id",
id)).first();
assertNotNull("did not found object with id " + id, o);
readCount++;
}
@@ -323,10 +322,10 @@ public class BlobThroughPutTest {
waitForStart();
while (!stopTest.get()) {
String _id = id + "-" + writeCount;
- DBObject obj = new BasicDBObject()
+ BasicDBObject obj = new BasicDBObject()
.append("foo", _id);
obj.put("blob", DATA);
- blobs.insert(obj, writeConcern);
+ blobs.withWriteConcern(writeConcern).insertOne(obj);
writeCount++;
}
stopLatch.countDown();
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/CollisionWithSplitTest.java
Tue Jul 24 12:13:54 2018
@@ -46,9 +46,10 @@ public class CollisionWithSplitTest exte
private DocumentNodeStore ns2;
@Override
- public void setUpConnection() throws Exception {
+ public void setUpConnection() {
mongoConnection = connectionFactory.getConnection();
- MongoUtils.dropCollections(mongoConnection.getDB());
+ assertNotNull(mongoConnection);
+ MongoUtils.dropCollections(mongoConnection.getDatabase());
mk = newDocumentMK(mongoConnection, 2);
ns1 = mk.getNodeStore();
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
Tue Jul 24 12:13:54 2018
@@ -40,8 +40,8 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.common.io.Closeables;
import com.mongodb.BasicDBObject;
-import com.mongodb.DBCollection;
import com.mongodb.ReadPreference;
+import com.mongodb.client.MongoCollection;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.jackrabbit.oak.api.Blob;
@@ -197,10 +197,11 @@ public class MongoBlobGCTest extends Abs
}
private void deleteFromMongo(String nodeId) {
- DBCollection coll = mongoConnection.getDB().getCollection("nodes");
+ MongoCollection<BasicDBObject> coll = mongoConnection.getDatabase()
+ .getCollection("nodes", BasicDBObject.class);
BasicDBObject blobNodeObj = new BasicDBObject();
blobNodeObj.put("_id", "1:/" + nodeId);
- coll.remove(blobNodeObj);
+ coll.deleteOne(blobNodeObj);
}
@Test
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDbTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDbTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDbTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDbTest.java
Tue Jul 24 12:13:54 2018
@@ -16,16 +16,21 @@
*/
package org.apache.jackrabbit.oak.plugins.document;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.jackrabbit.oak.plugins.document.util.MongoConnection;
+import org.bson.conversions.Bson;
import org.junit.Ignore;
import org.junit.Test;
import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.DBCollection;
-import com.mongodb.DBCursor;
-import com.mongodb.DBObject;
-import com.mongodb.QueryBuilder;
-import com.mongodb.WriteConcern;
+import com.mongodb.client.FindIterable;
+import com.mongodb.client.MongoCollection;
+import com.mongodb.client.MongoDatabase;
+import com.mongodb.client.model.Filters;
+import com.mongodb.client.model.FindOneAndUpdateOptions;
+import com.mongodb.client.model.IndexOptions;
/**
* Test directly ran against MongoDB.
@@ -35,16 +40,17 @@ public class MongoDbTest {
@Test
@Ignore
public void manyChildNodes() {
- DB db = MongoUtils.getConnection().getDB();
- MongoUtils.dropCollections(db);
- DBCollection nodes = db.getCollection(Collection.NODES.toString());
- DBObject index = new BasicDBObject();
+ MongoConnection c = MongoUtils.getConnection();
+ MongoDatabase db = c.getDatabase();
+ MongoUtils.dropCollections(c.getDatabase());
+ MongoCollection<BasicDBObject> nodes =
db.getCollection(Collection.NODES.toString(), BasicDBObject.class);
+ BasicDBObject index = new BasicDBObject();
// modification time (descending)
index.put("_mod", -1L);
// and then id (ascending)
index.put("_id", 1L);
- DBObject options = new BasicDBObject();
- // options.put("unique", Boolean.TRUE);
+ IndexOptions options = new IndexOptions();
+ // options.unique(true);
nodes.createIndex(index, options);
// index on (_id, _mod):
@@ -72,30 +78,29 @@ public class MongoDbTest {
int group = 0;
String parent = "/parent/node/abc";
for (int i = 0; i < children;) {
- DBObject[] inserts = new DBObject[perInsert];
+ List<BasicDBObject> inserts = new ArrayList<>();
group++;
for (int j = 0; j < perInsert; j++, i++) {
BasicDBObject doc = new BasicDBObject();
- inserts[j] = doc;
+ inserts.add(doc);
doc.put("_id", parent + "/node" + i);
doc.put("_mod", group);
}
- nodes.insert(inserts, WriteConcern.SAFE);
+ nodes.insertMany(inserts);
log("inserted " + i + "/" + children);
}
- QueryBuilder queryBuilder = QueryBuilder.start("_mod");
- queryBuilder.greaterThanEquals(group - 1);
- queryBuilder.and("_id").greaterThan(parent + "/");
- queryBuilder.and("_id").lessThanEquals(parent + "0");
- DBObject query = queryBuilder.get();
+ Bson query = Filters.and(
+ Filters.gte("_mod", group - 1),
+ Filters.gt("_id", parent + "/"),
+ Filters.lte("_id", parent + "0")
+ );
BasicDBObject keys = new BasicDBObject();
keys.put("_id", 1);
- DBCursor cursor = nodes.find(query, keys);
+ FindIterable<BasicDBObject> cursor =
nodes.find(query).projection(keys);
int count = 0;
- log("Query plan: " + cursor.explain());
+ log("Query plan: " + explain(nodes, query));
long time = System.currentTimeMillis();
- while (cursor.hasNext()) {
- DBObject obj = cursor.next();
+ for (BasicDBObject obj : cursor) {
// dummy read operation (to ensure we did get the data)
obj.get("_id");
count++;
@@ -104,22 +109,23 @@ public class MongoDbTest {
time = System.currentTimeMillis() - time;
log("Time: " + time + " ms");
log("Count: " + count);
- db.getMongo().close();
+ c.close();
}
@Test
@Ignore
public void updateDocument() {
- DB db = MongoUtils.getConnection().getDB();
- MongoUtils.dropCollections(db);
- DBCollection nodes = db.getCollection(Collection.NODES.toString());
- DBObject index = new BasicDBObject();
+ MongoConnection c = MongoUtils.getConnection();
+ MongoDatabase db = c.getDatabase();
+ MongoUtils.dropCollections(c.getDatabase());
+ MongoCollection<BasicDBObject> nodes =
db.getCollection(Collection.NODES.toString(), BasicDBObject.class);
+ BasicDBObject index = new BasicDBObject();
// modification time (descending)
index.put("_mod", -1L);
// and then id (ascending)
index.put("_id", 1L);
- DBObject options = new BasicDBObject();
- // options.put("unique", Boolean.TRUE);
+ IndexOptions options = new IndexOptions();
+ // options.unique(true);
nodes.createIndex(index, options);
long time;
@@ -127,27 +133,29 @@ public class MongoDbTest {
int nodeCount = 4500;
String parent = "/parent/node/abc";
- DBObject[] inserts = new DBObject[nodeCount];
+ List<BasicDBObject> inserts = new ArrayList<>(nodeCount);
for (int i = 0; i < nodeCount; i++) {
BasicDBObject doc = new BasicDBObject();
- inserts[i] = doc;
+ inserts.add(doc);
doc.put("_id", parent + "/node" + i);
doc.put("_mod", 0);
doc.put("_counter", 0);
doc.put("x", 10);
}
- nodes.insert(inserts, WriteConcern.SAFE);
+ nodes.insertMany(inserts);
time = System.currentTimeMillis() - time;
System.out.println("insert: " + time);
time = System.currentTimeMillis();
for (int i = 0; i < nodeCount; i++) {
- QueryBuilder queryBuilder =
QueryBuilder.start(Document.ID).is(parent + "/node" + i);
- DBObject fields = new BasicDBObject();
+ BasicDBObject fields = new BasicDBObject();
// return _id only
fields.put("_id", 1);
- DBObject query = queryBuilder.get();
+ FindOneAndUpdateOptions updateOptions = new
FindOneAndUpdateOptions()
+ .projection(fields).upsert(true);
+
+ BasicDBObject query = new BasicDBObject(Document.ID, parent +
"/node" + i);
BasicDBObject setUpdates = new BasicDBObject();
BasicDBObject incUpdates = new BasicDBObject();
@@ -171,12 +179,10 @@ public class MongoDbTest {
// 1087 ms (upsert true+false, returnNew = false)
// 1100 ms (returnNew = true)
// DBObject oldNode =
- nodes.findAndModify(query, fields,
- null /*sort*/, false /*remove*/, update, false
/*returnNew*/,
- true /*upsert*/);
+ nodes.findOneAndUpdate(query, update, updateOptions);
// 250 ms WriteConcern.NORMAL, NONE
- // 891 ms WriteConvern.SAFE
+ // 891 ms WriteConcern.SAFE
// > 10 s WriteConcern.JOURNAL_SAFE, FSYNC_SAFE
// WriteResult result =
@@ -190,7 +196,12 @@ public class MongoDbTest {
System.out.println("update: " + time);
time = System.currentTimeMillis();
- db.getMongo().close();
+ c.close();
+ }
+
+ private static BasicDBObject explain(MongoCollection<BasicDBObject>
collection,
+ Bson query) {
+ return collection.find(query).modifiers(new BasicDBObject("$explain",
true)).first();
}
private static void log(String msg) {
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoDocumentStoreTest.java
Tue Jul 24 12:13:54 2018
@@ -42,8 +42,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.mongodb.BasicDBObject;
-import com.mongodb.DBCollection;
-import com.mongodb.DBObject;
+import com.mongodb.client.MongoCollection;
+import com.mongodb.client.model.IndexOptions;
/**
* Tests the document store.
@@ -72,7 +72,7 @@ public class MongoDocumentStoreTest {
void dropCollections() {
if (MONGO_DB) {
-
MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
@@ -248,28 +248,30 @@ public class MongoDocumentStoreTest {
doInsert(NODE_COUNT, false);
}
- private void doInsert(int n, boolean batch) throws Exception {
+ private void doInsert(int n, boolean batch) {
dropCollections();
- DBCollection collection =
connectionFactory.getConnection().getDB().getCollection("batchInsertTest");
- DBObject index = new BasicDBObject();
+ MongoConnection c = connectionFactory.getConnection();
+ assertNotNull(c);
+ MongoCollection<BasicDBObject> collection = c.getDatabase()
+ .getCollection("batchInsertTest", BasicDBObject.class);
+ BasicDBObject index = new BasicDBObject();
index.put("_path", 1L);
- DBObject options = new BasicDBObject();
- options.put("unique", Boolean.TRUE);
+ IndexOptions options = new IndexOptions().unique(true);
collection.createIndex(index, options);
log("Inserting " + n + " batch? " + batch);
long start = System.currentTimeMillis();
if (batch) {
- DBObject[] arr = new BasicDBObject[n];
+ List<BasicDBObject> docs = new ArrayList<>();
for (int i = 0; i < n; i++) {
- arr[i] = new BasicDBObject("_path", "/a" + i);
+ docs.add(new BasicDBObject("_path", "/a" + i));
}
- collection.insert(arr);
+ collection.insertMany(docs);
} else {
for (int i = 0; i < n; i++) {
- collection.insert(new BasicDBObject("_path", "/a" + i));
+ collection.insertOne(new BasicDBObject("_path", "/a" + i));
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoUtils.java
Tue Jul 24 12:13:54 2018
@@ -82,7 +82,7 @@ public class MongoUtils {
return;
}
try {
- dropCollections(c.getDB());
+ dropCollections(c.getDatabase());
} finally {
c.close();
}
@@ -127,7 +127,7 @@ public class MongoUtils {
return;
}
try {
- c.getDB().dropDatabase();
+ c.getDatabase().drop();
} finally {
c.close();
}
@@ -162,7 +162,7 @@ public class MongoUtils {
MongoConnection mongoConnection;
try {
mongoConnection = new MongoConnection(url);
- mongoConnection.getDB().command(new BasicDBObject("ping", 1));
+ mongoConnection.getDatabase().runCommand(new BasicDBObject("ping",
1));
// dropCollections(mongoConnection.getDB());
} catch (Exception e) {
exception = e;
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudGetLengthTest.java
Tue Jul 24 12:13:54 2018
@@ -25,12 +25,14 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static org.junit.Assert.assertNotNull;
+
/**
* Tests for {@code DocumentMK#getLength(String)} with {@link CloudBlobStore}
*/
public class DocumentMKCloudGetLengthTest extends DocumentMKGetLengthTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(CloudStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -42,6 +44,7 @@ public class DocumentMKCloudGetLengthTes
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ assertNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -50,9 +53,9 @@ public class DocumentMKCloudGetLengthTes
@Override
@After
- public void tearDownConnection() throws Exception {
+ public void tearDownConnection() {
((CloudBlobStore) mk.getNodeStore().getBlobStore()).deleteBucket();
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
\ No newline at end of file
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudReadTest.java
Tue Jul 24 12:13:54 2018
@@ -25,13 +25,15 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static org.junit.Assert.assertNotNull;
+
/**
* Tests for {@code DocumentMK#read(String, long, byte[], int, int)} with
* {@link CloudBlobStore}
*/
public class DocumentMKCloudReadTest extends DocumentMKReadTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(CloudStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -43,6 +45,7 @@ public class DocumentMKCloudReadTest ext
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ assertNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -51,9 +54,9 @@ public class DocumentMKCloudReadTest ext
@Override
@After
- public void tearDownConnection() throws Exception {
+ public void tearDownConnection() {
((CloudBlobStore) mk.getNodeStore().getBlobStore()).deleteBucket();
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
\ No newline at end of file
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/cloud/DocumentMKCloudWriteTest.java
Tue Jul 24 12:13:54 2018
@@ -25,13 +25,15 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static org.junit.Assert.assertNotNull;
+
/**
* Tests for {@code DocumentMK#write(java.io.InputStream)} with
* {@link CloudBlobStore}
*/
public class DocumentMKCloudWriteTest extends DocumentMKWriteTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(CloudStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -43,6 +45,7 @@ public class DocumentMKCloudWriteTest ex
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ assertNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -51,9 +54,9 @@ public class DocumentMKCloudWriteTest ex
@Override
@After
- public void tearDownConnection() throws Exception {
+ public void tearDownConnection() {
((CloudBlobStore) mk.getNodeStore().getBlobStore()).deleteBucket();
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
\ No newline at end of file
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreGetLengthTest.java
Tue Jul 24 12:13:54 2018
@@ -28,12 +28,14 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static org.junit.Assert.assertNotNull;
+
/**
* Tests for {@code DocumentMK#getLength(String)} using {@link DataStore}
*/
public class DocumentMKDataStoreGetLengthTest extends DocumentMKGetLengthTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(DataStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -45,6 +47,7 @@ public class DocumentMKDataStoreGetLengt
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ assertNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -56,6 +59,6 @@ public class DocumentMKDataStoreGetLengt
public void tearDownConnection() throws Exception {
FileUtils.deleteDirectory(new File(DataStoreUtils.getHomeDir()));
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreReadTest.java
Tue Jul 24 12:13:54 2018
@@ -28,13 +28,15 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static com.google.common.base.Preconditions.checkNotNull;
+
/**
* Tests for {@code DocumentMK#read(String, long, byte[], int, int)} using
* {@link DataStore}
*/
public class DocumentMKDataStoreReadTest extends DocumentMKReadTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(DataStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -46,6 +48,7 @@ public class DocumentMKDataStoreReadTest
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ checkNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -57,6 +60,6 @@ public class DocumentMKDataStoreReadTest
public void tearDownConnection() throws Exception {
FileUtils.deleteDirectory(new File(DataStoreUtils.getHomeDir()));
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/blob/ds/DocumentMKDataStoreWriteTest.java
Tue Jul 24 12:13:54 2018
@@ -28,13 +28,15 @@ import org.junit.Assume;
import org.junit.Before;
import org.junit.BeforeClass;
+import static org.junit.Assert.assertNotNull;
+
/**
* Tests for {@code DocumentMK#write(java.io.InputStream)} using
* {@link DataStore}
*/
public class DocumentMKDataStoreWriteTest extends DocumentMKWriteTest {
@BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ public static void setUpBeforeClass() {
try {
Assume.assumeNotNull(DataStoreUtils.getBlobStore());
} catch (Exception e) {
@@ -46,6 +48,7 @@ public class DocumentMKDataStoreWriteTes
@Before
public void setUpConnection() throws Exception {
mongoConnection = connectionFactory.getConnection();
+ assertNotNull(mongoConnection);
MongoUtils.dropCollections(mongoConnection.getDBName());
mk = new DocumentMK.Builder()
.setMongoDB(mongoConnection.getMongoClient(),
mongoConnection.getDBName())
@@ -57,6 +60,6 @@ public class DocumentMKDataStoreWriteTes
public void tearDownConnection() throws Exception {
FileUtils.deleteDirectory(new File(DataStoreUtils.getHomeDir()));
mk.dispose();
- MongoUtils.dropCollections(connectionFactory.getConnection().getDB());
+
MongoUtils.dropCollections(connectionFactory.getConnection().getDatabase());
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/JournalIT.java
Tue Jul 24 12:13:54 2018
@@ -41,6 +41,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
public class JournalIT extends AbstractJournalTest {
@@ -58,7 +59,8 @@ public class JournalIT extends AbstractJ
public void clear() {
super.clear();
MongoConnection mongoConnection = connectionFactory.getConnection();
- MongoUtils.dropCollections(mongoConnection.getDB());
+ assertNotNull(mongoConnection);
+ MongoUtils.dropCollections(mongoConnection.getDatabase());
}
@Test
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java
Tue Jul 24 12:13:54 2018
@@ -16,8 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.document.mongo;
-import com.mongodb.DB;
-import com.mongodb.Mongo;
+import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.ReadConcern;
import com.mongodb.ReplicaSetStatus;
@@ -119,8 +118,8 @@ public class MongoConnectionTest {
private void sufficientWriteConcern(WriteConcern w,
boolean replicaSet,
boolean sufficient) {
- DB db = mockDB(ReadConcern.DEFAULT, w, replicaSet);
- assertEquals(sufficient,
MongoConnection.hasSufficientWriteConcern(db));
+ MongoClient mongo = mockMongoClient(replicaSet);
+ assertEquals(sufficient,
MongoConnection.isSufficientWriteConcern(mongo, w));
}
private void sufficientReadConcernReplicaSet(ReadConcern r,
@@ -135,25 +134,19 @@ public class MongoConnectionTest {
private void sufficientReadConcern(ReadConcern r,
boolean replicaSet,
boolean sufficient) {
- DB db = mockDB(r, replicaSet ? WriteConcern.MAJORITY :
WriteConcern.W1, replicaSet);
- assertEquals(sufficient, MongoConnection.hasSufficientReadConcern(db));
+ MongoClient mongo = mockMongoClient(replicaSet);
+ assertEquals(sufficient,
MongoConnection.isSufficientReadConcern(mongo, r));
}
- private DB mockDB(ReadConcern r,
- WriteConcern w,
- boolean replicaSet) {
+ private MongoClient mockMongoClient(boolean replicaSet) {
ReplicaSetStatus status;
if (replicaSet) {
status = mock(ReplicaSetStatus.class);
} else {
status = null;
}
- DB db = mock(DB.class);
- Mongo mongo = mock(Mongo.class);
- when(db.getMongo()).thenReturn(mongo);
- when(db.getWriteConcern()).thenReturn(w);
- when(db.getReadConcern()).thenReturn(r);
- when(mongo.getReplicaSetStatus()).thenReturn(status);
- return db;
+ MongoClient client = mock(MongoClient.class);
+ when(client.getReplicaSetStatus()).thenReturn(status);
+ return client;
}
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoMissingLastRevSeekerTest.java
Tue Jul 24 12:13:54 2018
@@ -52,18 +52,18 @@ public class MongoMissingLastRevSeekerTe
private DocumentNodeStore ns;
@Before
- public void before() throws Exception {
+ public void before() {
c = MongoUtils.getConnection();
assumeTrue(c != null);
- dbName = c.getDB().getName();
- MongoUtils.dropCollections(c.getDB());
+ dbName = c.getDatabase().getName();
+ MongoUtils.dropCollections(c.getDatabase());
builder = new DocumentMK.Builder().setMongoDB(c.getMongoClient(),
c.getDBName());
store = (MongoDocumentStore) builder.getDocumentStore();
ns = builder.getNodeStore();
}
@After
- public void after() throws Exception {
+ public void after() {
if (ns != null) {
ns.dispose();
}
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoUtilsTest.java
Tue Jul 24 12:13:54 2018
@@ -61,7 +61,8 @@ public class MongoUtilsTest {
@Test
public void createIndex() {
MongoConnection c = connectionFactory.getConnection();
- c.getDB().dropDatabase();
+ assertNotNull(c);
+ c.getDatabase().drop();
MongoCollection collection = c.getDatabase().getCollection("test");
MongoUtils.createIndex(collection, "foo", true, false, true);
MongoUtils.createIndex(collection, "bar", false, true, false);
@@ -93,13 +94,14 @@ public class MongoUtilsTest {
}
}
- c.getDB().dropDatabase();
+ c.getDatabase().drop();
}
@Test
public void createPartialIndex() {
MongoConnection c = connectionFactory.getConnection();
- c.getDB().dropDatabase();
+ assertNotNull(c);
+ c.getDatabase().drop();
MongoStatus status = new MongoStatus(c.getMongoClient(),
c.getDBName());
assumeTrue(status.isVersion(3, 2));
@@ -126,12 +128,13 @@ public class MongoUtilsTest {
}
}
- c.getDB().dropDatabase();
+ c.getDatabase().drop();
}
@Test(expected = IllegalArgumentException.class)
public void checkArguments() {
MongoConnection c = connectionFactory.getConnection();
+ assertNotNull(c);
MongoCollection collection = c.getDatabase().getCollection("test");
MongoUtils.createIndex(collection, new String[]{"foo", "bar"},
new boolean[]{true}, false, true);
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java?rev=1836549&r1=1836548&r2=1836549&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/ReadPreferenceIT.java
Tue Jul 24 12:13:54 2018
@@ -119,7 +119,9 @@ public class ReadPreferenceIT extends Ab
assertEquals(ReadPreference.secondary(),
mongoDS.getDBCollection(NODES).getReadPreference());
assertEquals(2,
mongoDS.getDBCollection(NODES).getWriteConcern().getW());
- assertTrue(mongoDS.getDBCollection(NODES).getWriteConcern().getJ());
+ Boolean journal =
mongoDS.getDBCollection(NODES).getWriteConcern().getJournal();
+ assertNotNull(journal);
+ assertTrue(journal);
assertEquals(ReadPreference.secondary(),
mongoDS.getConfiguredReadPreference(NODES));
}