This is an automated email from the ASF dual-hosted git repository. joscorbe pushed a commit to branch OAK-11835 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 0c13086cf221c27a683d14870a6914ac57a5272a Author: Jose Cordero <corde...@adobe.com> AuthorDate: Tue Aug 5 04:46:17 2025 +0200 OAK-11835: Add all parameters to log message --- .../plugins/document/mongo/MongoDBConnection.java | 37 +--------------------- .../oak/plugins/document/util/MongoConnection.java | 24 ++++++++++---- .../mongo/MongoConnectionPoolSettingsTest.java | 4 ++- 3 files changed, 22 insertions(+), 43 deletions(-) diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBConnection.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBConnection.java index be2af26423..ffecd3dc4c 100644 --- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBConnection.java +++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoDBConnection.java @@ -16,8 +16,6 @@ */ package org.apache.jackrabbit.oak.plugins.document.mongo; -import java.util.concurrent.TimeUnit; - import com.mongodb.BasicDBObject; import com.mongodb.MongoClientSettings; import com.mongodb.ReadConcernLevel; @@ -74,7 +72,6 @@ final class MongoDBConnection { MongoClientSettings mongoClientSettings = optionsBuilder.build(); LOG.info("Mongo Connection details {}", MongoConnection.toString(mongoClientSettings)); - logConnectionPoolDetails(mongoClientSettings); MongoClient client = MongoClients.create(mongoClientSettings); MongoStatus status = new MongoStatus(client, name); @@ -94,39 +91,7 @@ final class MongoDBConnection { return new MongoDBConnection(client, db, status, clock); } - /** - * Logs detailed connection pool and socket settings - */ - private static void logConnectionPoolDetails(MongoClientSettings settings) { - if (LOG.isInfoEnabled()) { - StringBuilder details = new StringBuilder("MongoDB Connection Pool Settings: "); - - // Connection Pool Settings - var poolSettings = settings.getConnectionPoolSettings(); - details.append("Pool[maxSize=").append(poolSettings.getMaxSize()) - .append(", minSize=").append(poolSettings.getMinSize()) - .append(", maxConnecting=").append(poolSettings.getMaxConnecting()) - .append(", maxIdleTime=").append(poolSettings.getMaxConnectionIdleTime(TimeUnit.MILLISECONDS)).append("ms") - .append(", maxLifeTime=").append(poolSettings.getMaxConnectionLifeTime(TimeUnit.MILLISECONDS)).append("ms") - .append(", maxWaitTime=").append(poolSettings.getMaxWaitTime(TimeUnit.MILLISECONDS)).append("ms] "); - - // Socket Settings - var socketSettings = settings.getSocketSettings(); - details.append("Socket[connectTimeout=").append(socketSettings.getConnectTimeout(TimeUnit.MILLISECONDS)).append("ms") - .append(", readTimeout=").append(socketSettings.getReadTimeout(TimeUnit.MILLISECONDS)).append("ms] "); - - // Server Settings - var serverSettings = settings.getServerSettings(); - details.append("Server[heartbeatFreq=").append(serverSettings.getHeartbeatFrequency(TimeUnit.MILLISECONDS)).append("ms") - .append(", minHeartbeatFreq=").append(serverSettings.getMinHeartbeatFrequency(TimeUnit.MILLISECONDS)).append("ms] "); - - // Cluster Settings - var clusterSettings = settings.getClusterSettings(); - details.append("Cluster[serverSelectionTimeout=").append(clusterSettings.getServerSelectionTimeout(TimeUnit.MILLISECONDS)).append("ms]"); - - LOG.info(details.toString()); - } - } + @NotNull MongoClient getClient() { diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java index f63b9f925b..871f06bc84 100644 --- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java +++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/util/MongoConnection.java @@ -31,6 +31,7 @@ import com.mongodb.WriteConcern; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; +import com.mongodb.connection.ClusterSettings; import com.mongodb.connection.ClusterDescription; import com.mongodb.connection.ClusterType; import com.mongodb.connection.ConnectionPoolSettings; @@ -201,14 +202,25 @@ public class MongoConnection { ConnectionPoolSettings poolSettings = settings.getConnectionPoolSettings(); SocketSettings socketSettings = settings.getSocketSettings(); ServerSettings serverSettings = settings.getServerSettings(); + ClusterSettings clusterSettings = settings.getClusterSettings(); return new StringJoiner(", ", MongoClientSettings.class.getSimpleName() + "[", "]") - .add("connectionsPerHost=" + poolSettings.getMaxSize()) - .add("connectTimeout=" + socketSettings.getConnectTimeout(TimeUnit.MILLISECONDS)) - .add("socketTimeout=" + socketSettings.getReadTimeout(TimeUnit.MILLISECONDS)) - .add("maxWaitTime=" + poolSettings.getMaxWaitTime(TimeUnit.MILLISECONDS)) - .add("heartbeatFrequency=" + serverSettings.getHeartbeatFrequency(TimeUnit.MILLISECONDS)) - .add("threadsAllowedToBlockForConnectionMultiplier=" + poolSettings.getMaxSize()) // Handled via maxSize in connection pool + // Connection Pool Settings + .add("pool.maxSize=" + poolSettings.getMaxSize()) + .add("pool.minSize=" + poolSettings.getMinSize()) + .add("pool.maxConnecting=" + poolSettings.getMaxConnecting()) + .add("pool.maxIdleTime=" + poolSettings.getMaxConnectionIdleTime(TimeUnit.MILLISECONDS)) + .add("pool.maxLifeTime=" + poolSettings.getMaxConnectionLifeTime(TimeUnit.MILLISECONDS)) + .add("pool.maxWaitTime=" + poolSettings.getMaxWaitTime(TimeUnit.MILLISECONDS)) + // Socket Settings + .add("socket.connectTimeout=" + socketSettings.getConnectTimeout(TimeUnit.MILLISECONDS)) + .add("socket.readTimeout=" + socketSettings.getReadTimeout(TimeUnit.MILLISECONDS)) + // Server Settings + .add("server.heartbeatFreq=" + serverSettings.getHeartbeatFrequency(TimeUnit.MILLISECONDS)) + .add("server.minHeartbeatFreq=" + serverSettings.getMinHeartbeatFrequency(TimeUnit.MILLISECONDS)) + // Cluster Settings + .add("cluster.serverSelectionTimeout=" + clusterSettings.getServerSelectionTimeout(TimeUnit.MILLISECONDS)) + // Connection Settings .add("readPreference=" + settings.getReadPreference().getName()) .add("writeConcern=" + settings.getWriteConcern()) .toString(); diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionPoolSettingsTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionPoolSettingsTest.java index 90f1d8329d..dea1d655a1 100644 --- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionPoolSettingsTest.java +++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoConnectionPoolSettingsTest.java @@ -24,7 +24,9 @@ import org.junit.Test; import java.lang.reflect.Field; import java.util.concurrent.TimeUnit; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; /** * Tests for MongoDB connection pool settings configuration.