-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
I created a simple node.js app to connect to my running mongo replSetServers and all the mongos look great. However, I'm getting a strange error from the node driver. Here's what my rs.status() gives:
tesla:PRIMARY> rs.status()
{
"set" : "tesla",
"date" : ISODate("2014-05-20T22:00:29Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "localhost:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 142,
"optime" : Timestamp(1400620030, 1),
"optimeDate" : ISODate("2014-05-20T21:07:10Z"),
"electionTime" : Timestamp(1400623097, 1),
"electionDate" : ISODate("2014-05-20T21:58:17Z"),
"self" : true
},
{
"_id" : 1,
"name" : "localhost:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 140,
"optime" : Timestamp(1400620030, 1),
"optimeDate" : ISODate("2014-05-20T21:07:10Z"),
"lastHeartbeat" : ISODate("2014-05-20T22:00:29Z"),
"lastHeartbeatRecv" : ISODate("2014-05-20T22:00:29Z"),
"pingMs" : 0,
"syncingTo" : "localhost:27017"
},
{
"_id" : 2,
"name" : "localhost:27019",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 138,
"optime" : Timestamp(1400620030, 1),
"optimeDate" : ISODate("2014-05-20T21:07:10Z"),
"lastHeartbeat" : ISODate("2014-05-20T22:00:29Z"),
"lastHeartbeatRecv" : ISODate("2014-05-20T22:00:28Z"),
"pingMs" : 0,
"syncingTo" : "localhost:27017"
}
],
"ok" : 1
}
And here's the error I see when running my node app:
Error: No primary found in set
at /Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/repl_set/repl_set.js:449:45
at /Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/server.js:376:9
at Server.Base._callHandler (/Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
at /Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/server.js:468:18
at MongoReply.parseBody (/Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
at null.<anonymous> (/Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/server.js:426:20)
at EventEmitter.emit (events.js:95:17)
at null.<anonymous> (/Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:201:13)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (/Users/montgomeryc/Projects/mongoskin-auth-test/node_modules/mongodb/lib/mongodb/connection/connection.js:422:22)
And my simple node app:
var Db = require('mongodb').Db, MongoClient = require('mongodb').MongoClient, Server = require('mongodb').Server, ReplSetServers = require('mongodb').ReplSetServers; var replSet = new ReplSetServers([ new Server('localhost', 27017), new Server('localhost', 27018), new Server('localhost', 27019) ]); var db = new Db('stratus', replSet, { w:0 }); db.open(function(err, p_db) { if (err) throw err; console.log('connect success!!'); // Authenticate db.authenticate('admin', 'secretPwd', function(err, result) { if (err) throw err; console.log('auth success!!'); db.close(); }); });