This is an automated email from the ASF dual-hosted git repository. thomasm pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push: new 8ef2cf89db OAK-10475 - Expose the Mongo client connection in MongoDocumentNodeStoreBuilderBase (#1142) 8ef2cf89db is described below commit 8ef2cf89db0b4311876904de2b9373402a295c3e Author: Nuno Santos <nsan...@adobe.com> AuthorDate: Tue Oct 10 11:29:13 2023 +0200 OAK-10475 - Expose the Mongo client connection in MongoDocumentNodeStoreBuilderBase (#1142) * Expose the Mongo client connection in MongoDocumentNodeStoreBuilderBase. * Retrigger CI --- .../mongo/MongoDocumentNodeStoreBuilderBase.java | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java index dbc972a039..46f6f7decd 100644 --- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java +++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDocumentNodeStoreBuilderBase.java @@ -47,6 +47,7 @@ public abstract class MongoDocumentNodeStoreBuilderBase<T extends MongoDocumentN private String uri; private String name; private String collectionCompressionType; + private MongoClient mongoClient; /** * Uses the given information to connect to to MongoDB as backend @@ -212,6 +213,15 @@ public abstract class MongoDocumentNodeStoreBuilderBase<T extends MongoDocumentN return mongoStatus; } + /** + * Returns the MongoDB client configured in the {@link #setMongoDB(String, String, int)} method. + * + * @return the client or null if the {@link #setMongoDB(String, String, int)} method hasn't been called. + */ + public MongoClient getMongoClient() { + return mongoClient; + } + long getMaxReplicationLagMillis() { return maxReplicationLagMillis; } @@ -227,16 +237,17 @@ public abstract class MongoDocumentNodeStoreBuilderBase<T extends MongoDocumentN return newMongoDBConnection(uri, name, mongoClock, socketTimeout, socketKeepAlive); } - private T setMongoDB(@NotNull MongoDBConnection client, + private T setMongoDB(@NotNull MongoDBConnection mongoDBConnection, int blobCacheSizeMB) { - client.checkReadWriteConcern(); - this.mongoStatus = client.getStatus(); + mongoDBConnection.checkReadWriteConcern(); + this.mongoClient = mongoDBConnection.getClient(); + this.mongoStatus = mongoDBConnection.getStatus(); this.documentStoreSupplier = memoize(() -> new MongoDocumentStore( - client.getClient(), client.getDatabase(), MongoDocumentNodeStoreBuilderBase.this)); + mongoDBConnection.getClient(), mongoDBConnection.getDatabase(), MongoDocumentNodeStoreBuilderBase.this)); if (this.blobStoreSupplier == null) { this.blobStoreSupplier = memoize( - () -> new MongoBlobStore(client.getDatabase(), blobCacheSizeMB * 1024 * 1024L, MongoDocumentNodeStoreBuilderBase.this)); + () -> new MongoBlobStore(mongoDBConnection.getDatabase(), blobCacheSizeMB * 1024 * 1024L, MongoDocumentNodeStoreBuilderBase.this)); } return thisBuilder();