diff --git a/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/MongoNodeStoreContainer.java b/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/MongoNodeStoreContainer.java index 6c78271..125c920 100644 --- a/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/MongoNodeStoreContainer.java +++ b/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/MongoNodeStoreContainer.java @@ -32,6 +32,8 @@ import com.mongodb.MongoClientURI; public class MongoNodeStoreContainer implements NodeStoreContainer { + private static Boolean mongoAvailable; + private static final Logger LOG = LoggerFactory.getLogger(MongoNodeStoreContainer.class); private static final String MONGO_URI = System.getProperty("oak.mongo.uri", @@ -60,14 +62,18 @@ public class MongoNodeStoreContainer implements NodeStoreContainer { } public static boolean isMongoAvailable() { + if (mongoAvailable != null) { + return mongoAvailable; + } + Mongo mongo = null; try { - MongoClientURI uri = new MongoClientURI(MONGO_URI); + MongoClientURI uri = new MongoClientURI(MONGO_URI + "?connectTimeoutMS=3000"); mongo = new MongoClient(uri); mongo.getDatabaseNames(); - return true; + return mongoAvailable = true; } catch (Exception e) { - return false; + return mongoAvailable = false; } finally { if (mongo != null) { mongo.close();