com.mongodb.MongoTimeoutException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • Using the Java driver 2.12.x against a mongoDB version 1.8 fails at startup due to com.mongodb.MongoTimeoutException caused by java.lang.NullPointerException (see stack trace below). The root cause seems to be the expected existence of "versionArray" in com.mongodb.ServerStateNotifier.getVersion(final CommandResult buildInfoResult) (v. 2.12.0, later moved to ServerMonitor.getVersion in 2.12.2) Apparently, mongoDB v1.8 doesn't provide the version as array. Is having a structured ServerVersion class really worth breaking backwards compatibility? Looks rather accidental to me. com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=127.0.0.1:27017, type=Unknown, state=Connecting, exception={java.lang.NullPointerException}}] at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128) at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:396) at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:569) at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:370) at com.mongodb.Mongo.isMongosConnection(Mongo.java:645) at com.mongodb.DBCollection.findOne(DBCollection.java:865) at com.mongodb.DBCollection.findOne(DBCollection.java:843) at com.mongodb.DBCollection.findOne(DBCollection.java:789) at com.sap.sse.security.userstore.mongodb.impl.DomainObjectFactoryImpl.loadSettingTypes(DomainObjectFactoryImpl.java:199) at com.sap.sse.security.userstore.mongodb.UserStoreImpl.<init>(UserStoreImpl.java:55) at com.sap.sse.security.userstore.mongodb.impl.Activator.start(Activator.java:30) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
    via by Jens Rommel,
  • Using the Java driver 2.12.x against a mongoDB version 1.8 fails at startup due to com.mongodb.MongoTimeoutException caused by java.lang.NullPointerException (see stack trace below). The root cause seems to be the expected existence of "versionArray" in com.mongodb.ServerStateNotifier.getVersion(final CommandResult buildInfoResult) (v. 2.12.0, later moved to ServerMonitor.getVersion in 2.12.2) Apparently, mongoDB v1.8 doesn't provide the version as array. Is having a structured ServerVersion class really worth breaking backwards compatibility? Looks rather accidental to me. com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=127.0.0.1:27017, type=Unknown, state=Connecting, exception={java.lang.NullPointerException}}] at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128) at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:396) at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:569) at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:370) at com.mongodb.Mongo.isMongosConnection(Mongo.java:645) at com.mongodb.DBCollection.findOne(DBCollection.java:865) at com.mongodb.DBCollection.findOne(DBCollection.java:843) at com.mongodb.DBCollection.findOne(DBCollection.java:789) at com.sap.sse.security.userstore.mongodb.impl.DomainObjectFactoryImpl.loadSettingTypes(DomainObjectFactoryImpl.java:199) at com.sap.sse.security.userstore.mongodb.UserStoreImpl.<init>(UserStoreImpl.java:55) at com.sap.sse.security.userstore.mongodb.impl.Activator.start(Activator.java:30) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
    via by Jens Rommel,
  • If a 0 connection timeout is defined, it will causes an exception. {code:java} MongoClientOptions.Builder options = MongoClientOptions.builder(); options.connectTimeout(0); MongoClientURI mongoClientURI = new MongoClientURI("mongodb://127.0.0.1:27017", options); MongoClient mongoClient = new MongoClient(mongoClientURI); DB db = mongoClient.getDB("test"); DBCollection collection = db.getCollection("test"); System.out.println(collection.findOne()); {code} {noformat} Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 0 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=localhost:27017, type=Unknown, state=Connecting}] at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128) at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:393) at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:565) at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:367) at com.mongodb.Mongo.isMongosConnection(Mongo.java:645) at com.mongodb.DBCollection.findOne(DBCollection.java:865) at com.mongodb.DBCollection.findOne(DBCollection.java:843) at com.mongodb.DBCollection.findOne(DBCollection.java:789) at com.mongodb.DBCollection.findOne(DBCollection.java:778) at MongoTest.main(MongoTest.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) {noformat} That behaviour doesn't match the [driver documentation|http://api.mongodb.org/java/2.12/com/mongodb/MongoClientOptions.html#getConnectTimeout()]. I believe the following is one of the things on 2.12 that causes the behaviour because is obtaining the maximum wait time choosing the minimal value including the _connectTimeOut_. https://github.com/mongodb/mongo-java-driver/blob/r2.12.5/src/main/com/mongodb/DBTCPConnector.java#L396
    via by Ricardo Lorenzo,
  • If a 0 connection timeout is defined, it will causes an exception. {code:java} MongoClientOptions.Builder options = MongoClientOptions.builder(); options.connectTimeout(0); MongoClientURI mongoClientURI = new MongoClientURI("mongodb://127.0.0.1:27017", options); MongoClient mongoClient = new MongoClient(mongoClientURI); DB db = mongoClient.getDB("test"); DBCollection collection = db.getCollection("test"); System.out.println(collection.findOne()); {code} {noformat} Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 0 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=localhost:27017, type=Unknown, state=Connecting}] at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128) at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:393) at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:565) at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:367) at com.mongodb.Mongo.isMongosConnection(Mongo.java:645) at com.mongodb.DBCollection.findOne(DBCollection.java:865) at com.mongodb.DBCollection.findOne(DBCollection.java:843) at com.mongodb.DBCollection.findOne(DBCollection.java:789) at com.mongodb.DBCollection.findOne(DBCollection.java:778) at MongoTest.main(MongoTest.java:27) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) {noformat} That behaviour doesn't match the [driver documentation|http://api.mongodb.org/java/2.12/com/mongodb/MongoClientOptions.html#getConnectTimeout()]. I believe the following is one of the things on 2.12 that causes the behaviour because is obtaining the maximum wait time choosing the minimal value including the _connectTimeOut_. https://github.com/mongodb/mongo-java-driver/blob/r2.12.5/src/main/com/mongodb/DBTCPConnector.java#L396
    via by Ricardo Lorenzo,
  • Unable to load data from Mongodb to Pig
    via by Unknown author,
  • Timed out Exception in Mongodb using Java driver
    via Stack Overflow by Tester
    ,
    • com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=127.0.0.1:27017, type=Unknown, state=Connecting, exception={java.lang.NullPointerException}}] at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128) at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:396) at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:569) at com.mongodb.DBTCPConnector.isMongosConnection(DBTCPConnector.java:370) at com.mongodb.Mongo.isMongosConnection(Mongo.java:645) at com.mongodb.DBCollection.findOne(DBCollection.java:865) at com.mongodb.DBCollection.findOne(DBCollection.java:843) at com.mongodb.DBCollection.findOne(DBCollection.java:789) at com.sap.sse.security.userstore.mongodb.impl.DomainObjectFactoryImpl.loadSettingTypes(DomainObjectFactoryImpl.java:199) at com.sap.sse.security.userstore.mongodb.UserStoreImpl.<init>(UserStoreImpl.java:55) at com.sap.sse.security.userstore.mongodb.impl.Activator.start(Activator.java:30) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771) at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764) at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721) at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936) at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319) at org.eclipse.osgi.container.Module.doStart(Module.java:571) at org.eclipse.osgi.container.Module.start(Module.java:439) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

    Users with the same issue

    batwalrus76
    2 times, last one,
    smyrgeorge
    1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    10 more bugmates