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 2021/02/16 10:48:42 UTC

svn commit: r1886578 - in /jackrabbit/oak/trunk: oak-parent/ oak-run/ oak-store-document/ oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/ oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/

Author: mreutegg
Date: Tue Feb 16 10:48:42 2021
New Revision: 1886578

URL: http://svn.apache.org/viewvc?rev=1886578&view=rev
Log:
OAK-9357: Update to MongoDB Java driver 3.12

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/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java
    jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoSessionFactory.java
    jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestCollection.java
    jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestDatabase.java

Modified: jackrabbit/oak/trunk/oak-parent/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-parent/pom.xml?rev=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-parent/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-parent/pom.xml Tue Feb 16 10:48:42 2021
@@ -54,7 +54,7 @@
     <segment.db>SegmentMK</segment.db>
     <lucene.version>4.7.1</lucene.version>
     <solr.version>8.6.3</solr.version>
-    <mongo.driver.version>3.8.2</mongo.driver.version>
+    <mongo.driver.version>3.12.7</mongo.driver.version>
     <slf4j.api.version>1.7.30</slf4j.api.version>
     <slf4j.version>1.7.30</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=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-run/pom.xml Tue Feb 16 10:48:42 2021
@@ -35,6 +35,7 @@
     <groovy.version>2.4.17</groovy.version>
     <!--
       Size History:
+      + 56 MB MongoDB Java driver 3.12.7 (OAK-9357)
       + 55 MB Add support for segment persistent cache (OAK-7744)
       + 54 MB AWS support for segment-tar (OAK-8827)
       + 52 MB AWS java sdk update (OAK-8875)
@@ -46,7 +47,7 @@
       + 41 MB build failing on the release profile (OAK-6250)
       + 38 MB. Initial value. Current 35MB plus a 10%
     -->
-    <max.jar.size>57671680</max.jar.size>
+    <max.jar.size>58720256</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=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-store-document/pom.xml Tue Feb 16 10:48:42 2021
@@ -45,6 +45,7 @@
             <Import-Package>
               <!-- OAK-7182 -->${guava.osgi.import},
               com.mongodb*;version="[3.8, 4)";resolution:=optional,
+              org.bson*;version="[3.8, 4)";resolution:=optional,
               *
             </Import-Package>
             <Export-Package>

Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java?rev=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobStore.java Tue Feb 16 10:48:42 2021
@@ -67,8 +67,8 @@ public class MongoBlobStore extends Cach
     private static final int DUPLICATE_KEY_ERROR_CODE = 11000;
 
     private static final CodecRegistry CODEC_REGISTRY = fromRegistries(
-            MongoClient.getDefaultCodecRegistry(),
-            fromCodecs(new MongoBlobCodec())
+            fromCodecs(new MongoBlobCodec()),
+            MongoClient.getDefaultCodecRegistry()
     );
 
     private final ReadPreference defaultReadPreference;

Modified: jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoSessionFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoSessionFactory.java?rev=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoSessionFactory.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoSessionFactory.java Tue Feb 16 10:48:42 2021
@@ -18,8 +18,10 @@ package org.apache.jackrabbit.oak.plugin
 
 import com.mongodb.ClientSessionOptions;
 import com.mongodb.MongoClient;
+import com.mongodb.ServerAddress;
 import com.mongodb.TransactionOptions;
 import com.mongodb.client.ClientSession;
+import com.mongodb.client.TransactionBody;
 import com.mongodb.session.ServerSession;
 
 import org.bson.BsonDocument;
@@ -139,6 +141,39 @@ class MongoSessionFactory {
         }
 
         @Override
+        public ServerAddress getPinnedServerAddress() {
+            return session.getPinnedServerAddress();
+        }
+
+        @Override
+        public void setPinnedServerAddress(ServerAddress address) {
+            session.setPinnedServerAddress(address);
+        }
+
+        @NotNull
+        @Override
+        public <T> T withTransaction(@NotNull TransactionBody<T> transactionBody) {
+            return session.withTransaction(transactionBody);
+        }
+
+        @NotNull
+        @Override
+        public <T> T withTransaction(@NotNull TransactionBody<T> transactionBody,
+                                     @NotNull TransactionOptions options) {
+            return session.withTransaction(transactionBody, options);
+        }
+
+        @Override
+        public BsonDocument getRecoveryToken() {
+            return session.getRecoveryToken();
+        }
+
+        @Override
+        public void setRecoveryToken(BsonDocument recoveryToken) {
+            session.setRecoveryToken(recoveryToken);
+        }
+
+        @Override
         public void close() {
             synchronized (this) {
                 session.advanceClusterTime(clusterTime);

Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestCollection.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestCollection.java?rev=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestCollection.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestCollection.java Tue Feb 16 10:48:42 2021
@@ -889,6 +889,134 @@ class MongoTestCollection<TDocument> imp
         return doc;
     }
 
+    @NotNull
+    @Override
+    public UpdateResult updateOne(@NotNull Bson filter,
+                                  @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateOne(filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateOne(@NotNull Bson filter,
+                                  @NotNull List<? extends Bson> update,
+                                  @NotNull UpdateOptions updateOptions) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateOne(filter, update, updateOptions);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateOne(@NotNull ClientSession clientSession,
+                                  @NotNull Bson filter,
+                                  @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateOne(clientSession, filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateOne(@NotNull ClientSession clientSession,
+                                  @NotNull Bson filter,
+                                  @NotNull List<? extends Bson> update,
+                                  @NotNull UpdateOptions updateOptions) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateOne(clientSession, filter, update, updateOptions);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateMany(@NotNull Bson filter,
+                                   @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateMany(filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateMany(@NotNull Bson filter,
+                                   @NotNull List<? extends Bson> update,
+                                   @NotNull UpdateOptions updateOptions) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateMany(filter, update, updateOptions);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateMany(@NotNull ClientSession clientSession,
+                                   @NotNull Bson filter,
+                                   @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateMany(clientSession, filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @NotNull
+    @Override
+    public UpdateResult updateMany(@NotNull ClientSession clientSession,
+                                   @NotNull Bson filter,
+                                   @NotNull List<? extends Bson> update,
+                                   @NotNull UpdateOptions updateOptions) {
+        maybeThrowExceptionBeforeUpdate();
+        UpdateResult result = collection.updateMany(clientSession, filter, update, updateOptions);
+        maybeThrowExceptionAfterUpdate();
+        return result;
+    }
+
+    @Override
+    public TDocument findOneAndUpdate(@NotNull Bson filter,
+                                      @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        TDocument doc = collection.findOneAndUpdate(filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return doc;
+    }
+
+    @Override
+    public TDocument findOneAndUpdate(@NotNull Bson filter,
+                                      @NotNull List<? extends Bson> update,
+                                      @NotNull FindOneAndUpdateOptions options) {
+        maybeThrowExceptionBeforeUpdate();
+        TDocument doc = collection.findOneAndUpdate(filter, update, options);
+        maybeThrowExceptionAfterUpdate();
+        return doc;
+    }
+
+    @Override
+    public TDocument findOneAndUpdate(@NotNull ClientSession clientSession,
+                                      @NotNull Bson filter,
+                                      @NotNull List<? extends Bson> update) {
+        maybeThrowExceptionBeforeUpdate();
+        TDocument doc = collection.findOneAndUpdate(clientSession, filter, update);
+        maybeThrowExceptionAfterUpdate();
+        return doc;
+    }
+
+    @Override
+    public TDocument findOneAndUpdate(@NotNull ClientSession clientSession,
+                                      @NotNull Bson filter,
+                                      @NotNull List<? extends Bson> update,
+                                      @NotNull FindOneAndUpdateOptions options) {
+        maybeThrowExceptionBeforeUpdate();
+        TDocument doc = collection.findOneAndUpdate(clientSession, filter, update, options);
+        maybeThrowExceptionAfterUpdate();
+        return doc;
+    }
+
     @Override
     public void drop() {
         collection.drop();

Modified: jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestDatabase.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestDatabase.java?rev=1886578&r1=1886577&r2=1886578&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestDatabase.java (original)
+++ jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoTestDatabase.java Tue Feb 16 10:48:42 2021
@@ -22,6 +22,7 @@ import java.util.concurrent.atomic.Atomi
 import com.mongodb.ReadConcern;
 import com.mongodb.ReadPreference;
 import com.mongodb.WriteConcern;
+import com.mongodb.client.AggregateIterable;
 import com.mongodb.client.ChangeStreamIterable;
 import com.mongodb.client.ClientSession;
 import com.mongodb.client.ListCollectionsIterable;
@@ -337,4 +338,32 @@ class MongoTestDatabase implements Mongo
                                                          @NotNull Class<TResult> tResultClass) {
         return db.watch(clientSession, pipeline, tResultClass);
     }
+
+    @NotNull
+    @Override
+    public AggregateIterable<Document> aggregate(@NotNull List<? extends Bson> pipeline) {
+        return db.aggregate(pipeline);
+    }
+
+    @NotNull
+    @Override
+    public <TResult> AggregateIterable<TResult> aggregate(@NotNull List<? extends Bson> pipeline,
+                                                          @NotNull Class<TResult> tResultClass) {
+        return db.aggregate(pipeline, tResultClass);
+    }
+
+    @NotNull
+    @Override
+    public AggregateIterable<Document> aggregate(@NotNull ClientSession clientSession,
+                                                 @NotNull List<? extends Bson> pipeline) {
+        return db.aggregate(clientSession, pipeline);
+    }
+
+    @NotNull
+    @Override
+    public <TResult> AggregateIterable<TResult> aggregate(@NotNull ClientSession clientSession,
+                                                          @NotNull List<? extends Bson> pipeline,
+                                                          @NotNull Class<TResult> tResultClass) {
+        return db.aggregate(clientSession, pipeline, tResultClass);
+    }
 }