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 2018/04/04 14:25:36 UTC
svn commit: r1828349 - in /jackrabbit/oak/trunk: oak-parent/ oak-run/
oak-store-document/ oak-store-document/src/test/java/com/mongodb/
oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/
Author: mreutegg
Date: Wed Apr 4 14:25:35 2018
New Revision: 1828349
URL: http://svn.apache.org/viewvc?rev=1828349&view=rev
Log:
OAK-7359: Update to MongoDB Java driver 3.6
Modified:
jackrabbit/oak/trunk/oak-parent/pom.xml
jackrabbit/oak/trunk/oak-run/pom.xml
jackrabbit/oak/trunk/oak-store-document/pom.xml
jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionTest.java
Modified: jackrabbit/oak/trunk/oak-parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-parent/pom.xml?rev=1828349&r1=1828348&r2=1828349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-parent/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-parent/pom.xml Wed Apr 4 14:25:35 2018
@@ -51,7 +51,7 @@
<segment.db>SegmentMK</segment.db>
<lucene.version>4.7.1</lucene.version>
<solr.version>5.5.5</solr.version>
- <mongo.driver.version>3.4.0</mongo.driver.version>
+ <mongo.driver.version>3.6.3</mongo.driver.version>
<slf4j.api.version>1.7.25</slf4j.api.version>
<slf4j.version>1.7.25</slf4j.version> <!-- sync with logback version -->
<logback.version>1.2.3</logback.version>
Modified: jackrabbit/oak/trunk/oak-run/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/pom.xml?rev=1828349&r1=1828348&r2=1828349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Wed Apr 4 14:25:35 2018
@@ -35,13 +35,14 @@
<groovy.version>2.4.7</groovy.version>
<!--
Size History:
+ + 49 MB MongoDB Java driver 3.6.3 is bigger (OAK-7359)
+ 48 MB Transitive dependencies needed for aws-java-sdk (OAK-6899)
+ 47 MB release profile build slightly bigger jar (OAK-6252)
+ 46 MB re-introduced the ServerCommand and required dependencies (OAK-6252)
+ 41 MB build failing on the release profile (OAK-6250)
+ 38 MB. Initial value. Current 35MB plus a 10%
-->
- <max.jar.size>48000000</max.jar.size>
+ <max.jar.size>49000000</max.jar.size>
</properties>
<build>
Modified: jackrabbit/oak/trunk/oak-store-document/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/pom.xml?rev=1828349&r1=1828348&r2=1828349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-store-document/pom.xml Wed Apr 4 14:25:35 2018
@@ -39,7 +39,7 @@
<configuration>
<instructions>
<Import-Package>
- com.mongodb*;version="[3, 4)";resolution:=optional,
+ com.mongodb*;version="[3.6, 4)";resolution:=optional,
*
</Import-Package>
<Export-Package>
@@ -309,7 +309,7 @@
<dependency>
<groupId>com.github.fakemongo</groupId>
<artifactId>fongo</artifactId>
- <version>2.0.6</version>
+ <version>2.2.0-RC1</version>
<scope>test</scope>
</dependency>
<dependency>
Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java?rev=1828349&r1=1828348&r2=1828349&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/com/mongodb/OakFongo.java Wed Apr 4 14:25:35 2018
@@ -33,6 +33,7 @@ import com.mongodb.client.model.WriteMod
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import com.mongodb.connection.ServerVersion;
+import com.mongodb.session.ClientSession;
import org.apache.jackrabbit.oak.plugins.document.MongoUtils;
import org.bson.Document;
@@ -171,13 +172,14 @@ public class OakFongo extends Fongo {
@Override
public synchronized FongoDBCollection doGetCollection(String name,
- boolean idIsNotUniq) {
+ boolean idIsNotUniq,
+ boolean validateOnInsert) {
if (name.startsWith("system.")) {
- return super.doGetCollection(name, idIsNotUniq);
+ return super.doGetCollection(name, idIsNotUniq, validateOnInsert);
}
FongoDBCollection coll = collMap.get(name);
if (coll == null) {
- coll = new OakFongoDBCollection(this, name, idIsNotUniq);
+ coll = new OakFongoDBCollection(this, name, idIsNotUniq, validateOnInsert);
collMap.put(name, coll);
}
return coll;
@@ -200,8 +202,9 @@ public class OakFongo extends Fongo {
public OakFongoDBCollection(FongoDB db,
String name,
- boolean idIsNotUniq) {
- super(db, name, idIsNotUniq);
+ boolean idIsNotUniq,
+ boolean validateOnInsert) {
+ super(db, name, idIsNotUniq, validateOnInsert);
}
@Override
@@ -311,56 +314,62 @@ public class OakFongo extends Fongo {
}
@Override
- public void insertMany(List<? extends Document> documents,
+ public void insertMany(ClientSession clientSession,
+ List<? extends Document> documents,
InsertManyOptions options) {
beforeInsert(asDBObjects(documents), new InsertOptions());
- super.insertMany(documents, options);
+ super.insertMany(clientSession, documents, options);
WriteResult result = new WriteResult(documents.size(), false, null);
afterInsert(result);
}
@Override
- public DeleteResult deleteMany(Bson filter,
+ public DeleteResult deleteMany(ClientSession clientSession,
+ Bson filter,
DeleteOptions options) {
beforeRemove(asDBObject(filter), getWriteConcern());
- DeleteResult result = super.deleteMany(filter, options);
+ DeleteResult result = super.deleteMany(clientSession, filter, options);
afterRemove(new WriteResult((int) result.getDeletedCount(), false, null));
return result;
}
@Override
- public UpdateResult updateMany(Bson filter,
+ public UpdateResult updateMany(ClientSession clientSession,
+ Bson filter,
Bson update,
UpdateOptions updateOptions) {
beforeUpdate(asDBObject(filter), asDBObject(update), updateOptions.isUpsert(), true, getWriteConcern(), new DefaultDBEncoder());
- UpdateResult result = super.updateMany(filter, update, updateOptions);
+ UpdateResult result = super.updateMany(clientSession, filter, update, updateOptions);
afterUpdate(new WriteResult((int) result.getModifiedCount(), true, result.getUpsertedId().asString().getValue()));
return result;
}
@Override
- public Document findOneAndUpdate(Bson filter,
+ public Document findOneAndUpdate(ClientSession clientSession,
+ Bson filter,
Bson update,
FindOneAndUpdateOptions options) {
beforeFindAndModify(asDBObject(filter), null, null, false, asDBObject(update), options.getReturnDocument() == ReturnDocument.AFTER, options.isUpsert());
- Document result = super.findOneAndUpdate(filter, update, options);
+ Document result = super.findOneAndUpdate(clientSession, filter, update, options);
afterFindAndModify(asDBObject(result));
return result;
}
@Override
- public FindIterable<Document> find(Bson filter) {
+ public FindIterable<Document> find(ClientSession clientSession,
+ Bson filter) {
beforeFind(asDBObject(filter), null);
- FindIterable<Document> result = super.find(filter);
+ FindIterable<Document> result = super.find(clientSession, filter);
afterFind(new FongoDBCursor(fongo.getDB(getNamespace().getDatabaseName()).getCollection(getNamespace().getCollectionName()), asDBObject(filter), null));
return result;
}
@Override
- public com.mongodb.bulk.BulkWriteResult bulkWrite(List<? extends WriteModel<? extends Document>> requests,
+ public com.mongodb.bulk.BulkWriteResult bulkWrite(ClientSession clientSession,
+ List<? extends WriteModel<? extends Document>> requests,
BulkWriteOptions options) {
beforeExecuteBulkWriteOperation(options.isOrdered(), options.getBypassDocumentValidation(), requests, getWriteConcern());
- com.mongodb.bulk.BulkWriteResult result = super.bulkWrite(requests, options);
+ com.mongodb.bulk.BulkWriteResult result = super.bulkWrite(clientSession, requests, options);
afterExecuteBulkWriteOperation(new AcknowledgedBulkWriteResult(result.getInsertedCount(), result.getMatchedCount(), result.getDeletedCount(), result.getModifiedCount(), this.transform(result.getUpserts())));
return result;
}
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=1828349&r1=1828348&r2=1828349&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 Wed Apr 4 14:25:35 2018
@@ -90,17 +90,17 @@ public class MongoConnectionTest {
public void socketKeepAlive() throws Exception {
assumeTrue(MongoUtils.isAvailable());
MongoClientOptions.Builder options = MongoConnection.getDefaultBuilder();
- options.socketKeepAlive(true);
+ options.socketKeepAlive(false);
MongoConnection c = new MongoConnection(MongoUtils.URL, options);
try {
- assertTrue(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive());
+ assertFalse(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive());
} finally {
c.close();
}
- // default is without keep-alive
+ // default is with keep-alive (starting with 3.6 driver)
c = new MongoConnection(MongoUtils.URL);
try {
- assertFalse(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive());
+ assertTrue(c.getMongoClient().getMongoClientOptions().isSocketKeepAlive());
} finally {
c.close();
}