Note that there are some explanatory texts on larger screens.

plurals
  1. POEndless MongoDB ReplicaSetStatus updater exceptions using the Java driver in Spring
    text
    copied!<p>I just deployed a Spring web application onto Glassfish. This app contains an injected Spring bean for the Mongo object, which is pretty basic, it just looks like this: </p> <pre><code>&lt;bean id="mongo" class="com.mongodb.Mongo"&gt; &lt;constructor-arg value="127.0.0.1" /&gt; &lt;constructor-arg value="27017" /&gt; &lt;/bean&gt; </code></pre> <p>I fire up my web app, then use this Mongo object to query the db and insert records and whatnot.. and everything works fine.</p> <p>But in my server.log file I get and endless stream of <code>SEVERE</code> error messages. They are <code>NullPointerException</code>s and <code>IOException</code>s. They appear to have something to do with ReplicaSetStatus, but I don't know why it keeps trying to connect, is it turn on be default?</p> <p>Does anyone know what causes these? How can I fix the problem, or stop whatever is causing them?</p> <p>// EDIT: The exceptions start immediately after I deploy my application. But they do not stop when I disable my application, or even undeploy it.</p> <p>These messages just get written constantly, but from what I can see theres only 4 types of errors:</p> <pre><code>[#|2011-04-22T17:49:40.818+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=37;_ThreadName=Thread-1;|can't update node: 27017:27017 java.lang.NullPointerException at com.mongodb.OutMessage.reset(OutMessage.java:73) at com.mongodb.OutMessage.&lt;init&gt;(OutMessage.java:51) at com.mongodb.OutMessage.query(OutMessage.java:38) at com.mongodb.DBPort.findOne(DBPort.java:127) at com.mongodb.DBPort.runCommand(DBPort.java:138) at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149) at com.mongodb..updateAll(ReplicaSetStatus.java:314) at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:263) |#] [#|2011-04-22T17:49:40.818+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=37;_ThreadName=Thread-1;|can't update node: localhost:27017 java.lang.NullPointerException at com.mongodb.OutMessage.reset(OutMessage.java:73) at com.mongodb.OutMessage.&lt;init&gt;(OutMessage.java:51) at com.mongodb.OutMessage.query(OutMessage.java:38) at com.mongodb.DBPort.findOne(DBPort.java:127) at com.mongodb.DBPort.runCommand(DBPort.java:138) at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149) at com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:314) at com.mongodb.ReplicaSetStatus.ensureMaster(ReplicaSetStatus.java:306) at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:383) at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:275) |#] [#|2011-04-22T17:49:41.676+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=48;_ThreadName=Thread-1;|can't update node: 127.0.0.1:27017 java.io.IOException: couldn't connect to [/127.0.0.1:27017] bc:java.net.ConnectException: Connection refused: connect at com.mongodb.DBPort._open(DBPort.java:206) at com.mongodb.DBPort.go(DBPort.java:94) at com.mongodb.DBPort.go(DBPort.java:75) at com.mongodb.DBPort.findOne(DBPort.java:129) at com.mongodb.DBPort.runCommand(DBPort.java:138) at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149) at com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:314) at com.mongodb.ReplicaSetStatus.ensureMaster(ReplicaSetStatus.java:306) at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:383) at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:275) |#] [#|2011-04-22T17:49:41.676+0900|SEVERE|glassfish3.1|com.mongodb.ReplicaSetStatus|_ThreadID=48;_ThreadName=Thread-1;|can't update node: 27017:27017 java.io.IOException: couldn't connect to [/0.0.105.137:27017] bc:java.net.SocketException: Network is unreachable: connect at com.mongodb.DBPort._open(DBPort.java:206) at com.mongodb.DBPort.go(DBPort.java:94) at com.mongodb.DBPort.go(DBPort.java:75) at com.mongodb.DBPort.findOne(DBPort.java:129) at com.mongodb.DBPort.runCommand(DBPort.java:138) at com.mongodb.ReplicaSetStatus$Node.update(ReplicaSetStatus.java:149) at com.mongodb.ReplicaSetStatus.updateAll(ReplicaSetStatus.java:314) at com.mongodb.ReplicaSetStatus.ensureMaster(ReplicaSetStatus.java:306) at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:383) at com.mongodb.ReplicaSetStatus$Updater.run(ReplicaSetStatus.java:275) |#] </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload