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=1827987&r1=1827986&r2=1827987&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 Thu Mar 29 13:06:10 2018 @@ -65,12 +65,12 @@ public class ReadPreferenceIT extends Ab setRevisionClock(clock); setClusterNodeInfoClock(clock); mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDBName()); replica = ReplicaSetInfoMock.create(clock); mk = new DocumentMK.Builder() .clock(clock) .setClusterId(1) - .setMongoDB(mongoConnection.getDB()) + .setMongoDB(mongoConnection.getMongoClient(), mongoConnection.getDBName()) .setLeaseCheck(false) .open(); mongoDS = (MongoDocumentStore) mk.getDocumentStore(); @@ -80,7 +80,7 @@ public class ReadPreferenceIT extends Ab mk2 = new DocumentMK.Builder() .clock(clock) .setClusterId(2) - .setMongoDB(mongoConnection2.getDB()) + .setMongoDB(mongoConnection2.getMongoClient(), mongoConnection2.getDBName()) .setLeaseCheck(false) .open(); } @@ -138,7 +138,7 @@ public class ReadPreferenceIT extends Ab mongoDS.getMongoReadPreference(NODES,"foo", null, DocumentReadPreference.PREFER_SECONDARY)); //Change the default and assert again - mongoDS.getDBCollection(NODES).getDB().setReadPreference(ReadPreference.secondary()); + mongoDS.setReadWriteMode(rwMode(ReadPreference.secondary())); assertEquals(ReadPreference.secondary(), mongoDS.getMongoReadPreference(NODES,"foo", null, DocumentReadPreference.PREFER_SECONDARY)); @@ -155,7 +155,7 @@ public class ReadPreferenceIT extends Ab @Test public void testMongoReadPreferences() throws Exception { ReadPreference testPref = ReadPreference.secondary(); - mongoDS.getDBCollection(NODES).getDB().setReadPreference(testPref); + mongoDS.setReadWriteMode(rwMode(testPref)); NodeStore extNodeStore = mk2.getNodeStore(); NodeBuilder b1 = extNodeStore.getRoot().builder(); @@ -193,7 +193,7 @@ public class ReadPreferenceIT extends Ab public void testMongoReadPreferencesForLocalChanges() throws Exception { //Change the default ReadPreference testPref = ReadPreference.secondary(); - mongoDS.getDBCollection(NODES).getDB().setReadPreference(testPref); + mongoDS.setReadWriteMode(rwMode(testPref)); NodeStore nodeStore = mk.getNodeStore(); NodeBuilder b1 = nodeStore.getRoot().builder(); @@ -234,4 +234,8 @@ public class ReadPreferenceIT extends Ab assertEquals(ReadPreference.secondary(), mongoDS.getConfiguredReadPreference(NODES)); } + + private static String rwMode(ReadPreference preference) { + return "readpreference=" + preference.getName(); + } }
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/RetryReadIT.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/RetryReadIT.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/RetryReadIT.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/RetryReadIT.java Thu Mar 29 13:06:10 2018 @@ -30,7 +30,7 @@ import org.apache.jackrabbit.oak.plugins import org.apache.jackrabbit.oak.plugins.document.util.Utils; import org.junit.Test; -import com.mongodb.DB; +import com.mongodb.MongoClient; import com.mongodb.MongoException; import static org.apache.jackrabbit.oak.plugins.document.Collection.NODES; @@ -50,10 +50,10 @@ public class RetryReadIT extends Abstrac @Override public void setUpConnection() throws Exception { mongoConnection = connectionFactory.getConnection(); - MongoUtils.dropCollections(mongoConnection.getDB()); + MongoUtils.dropCollections(mongoConnection.getDatabase()); DocumentMK.Builder builder = new DocumentMK.Builder(); builder.clock(getTestClock()); - store = new TestStore(mongoConnection.getDB(), builder); + store = new TestStore(mongoConnection.getMongoClient(), mongoConnection.getDBName(), builder); mk = builder.setDocumentStore(store).open(); } @@ -103,8 +103,8 @@ public class RetryReadIT extends Abstrac private int failRead = 0; - public TestStore(DB db, DocumentMK.Builder builder) { - super(db, builder); + public TestStore(MongoClient client, String dbName, DocumentMK.Builder builder) { + super(client, dbName, builder); } @Override Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfoMock.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfoMock.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfoMock.java (original) +++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/replica/ReplicaSetInfoMock.java Thu Mar 29 13:06:10 2018 @@ -20,7 +20,9 @@ package org.apache.jackrabbit.oak.plugin import com.google.common.base.Function; import com.mongodb.BasicDBObject; -import com.mongodb.DB; +import com.mongodb.MongoClient; +import com.mongodb.client.MongoDatabase; + import org.apache.jackrabbit.oak.plugins.document.Revision; import org.apache.jackrabbit.oak.plugins.document.RevisionVector; import org.apache.jackrabbit.oak.stats.Clock; @@ -46,14 +48,17 @@ public class ReplicaSetInfoMock extends private ReplicaSetMock replicationSet; public static ReplicaSetInfoMock create(Clock clock) { - DB db = mock(DB.class); + MongoDatabase db = mock(MongoDatabase.class); when(db.getName()).thenReturn("oak-db"); - when(db.getSisterDB(Mockito.anyString())).thenReturn(db); - return new ReplicaSetInfoMock(clock, db); + + MongoClient client = mock(MongoClient.class); + when(client.getDatabase(Mockito.anyString())).thenReturn(db); + + return new ReplicaSetInfoMock(clock, client, db.getName()); } - private ReplicaSetInfoMock(Clock clock, DB db) { - super(clock, db, null, 0, Long.MAX_VALUE, null); + private ReplicaSetInfoMock(Clock clock, MongoClient client, String dbName) { + super(clock, client, dbName, null, 0, Long.MAX_VALUE, null); this.clock = clock; this.mongoClock = clock; Modified: jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java?rev=1827987&r1=1827986&r2=1827987&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java (original) +++ jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/node/MongoFactory.java Thu Mar 29 13:06:10 2018 @@ -16,7 +16,6 @@ */ package org.apache.jackrabbit.oak.upgrade.cli.node; -import com.mongodb.DB; import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore; import org.apache.jackrabbit.oak.plugins.document.mongo.MongoBlobStore; import org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilder; @@ -28,7 +27,6 @@ import com.mongodb.MongoClient; import com.mongodb.MongoClientURI; import java.io.IOException; -import java.net.UnknownHostException; import static org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilder.newMongoDocumentNodeStoreBuilder; @@ -50,7 +48,7 @@ public class MongoFactory extends Docume public NodeStore create(BlobStore blobStore, Closer closer) throws IOException { System.setProperty(DocumentNodeStore.SYS_PROP_DISABLE_JOURNAL, "true"); MongoDocumentNodeStoreBuilder builder = baseConfiguration(newMongoDocumentNodeStoreBuilder(), cacheSize); - builder.setMongoDB(getDB(closer)); + builder.setMongoDB(createClient(closer), getDBName()); if (blobStore != null) { builder.setBlobStore(blobStore); } @@ -66,23 +64,27 @@ public class MongoFactory extends Docume return documentNodeStore; } - private DB getDB(Closer closer) throws UnknownHostException { + private MongoClient createClient(Closer closer) { + MongoClient client = new MongoClient(uri); + closer.register(client::close); + return client; + } + + private String getDBName() { String db; if (uri.getDatabase() == null) { db = "aem-author"; // assume an author instance } else { db = uri.getDatabase(); } - MongoClient client = new MongoClient(uri); - closer.register(client::close); - return client.getDB(db); + return db; } @Override public boolean hasExternalBlobReferences() throws IOException { Closer closer = Closer.create(); try { - MongoBlobStore mongoBlobStore = new MongoBlobStore(getDB(closer)); + MongoBlobStore mongoBlobStore = new MongoBlobStore(createClient(closer).getDatabase(getDBName())); return !mongoBlobStore.getAllChunkIds(0).hasNext(); } catch(Throwable e) { throw closer.rethrow(e);
