Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-189

Error: No primary found in set

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      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();
        });
      
      });
      

            Assignee:
            christkv Christian Amor Kvalheim
            Reporter:
            cmontgomery Chris Montgomery
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: