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

ReplicaSet not detecting lost connection

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 1.4
    • Component/s: None
    • Labels:
    • Environment:
      Ubuntu 12 64bit, Node v0.10.29, mongodb 2.6.3

      I've setup three mongo nodes in replica set (primary,secondary and arbiter)
      I'm using driver 1.4.7
      All is working expected with node driver, I can retrieve data, mongo does switching from secondary to primary when I shutdown primary. Problem is that I can't detect on error/close events, it doesn't trigger.
      I tried with standalone mongo and it does triggers error/close when I kill mongo process, but when I use replicaset, it doesn't do anything.

      here is the code for replicaset:
      ........
      var MongoClient = require('mongodb').MongoClient,
      MongoServer = require('mongodb').Server,
      MongoRepSet = require('mongodb').ReplSetServers;

      var server1 = new MongoServer(config.db.host, 9000);
      var server2 = new MongoServer(config.db.host, 9001);
      var server3 = new MongoServer(config.db.host, 9002);
      var servers = [];
      servers[0] = server1;
      servers[1] = server2;
      servers[2] = server3;

      var Client = new MongoClient(new MongoRepSet(servers));

      Client.open(function(err, Client) {
      if (err)

      { var db_error = new DbConnectionError('Can not connect to the database'); throw db_error; }


      else {
      logger.status('Server connected to Db');
      var db = Client.db('db_name');
      db.on('close', function(result)

      { logger.status('Connection to Db lost'); }

      );
      db.on('reconnect', function()

      { logger.status('Server reconnected to Db'); }

      );
      db.on('error', function(err)

      { console.log(err); }

      )
      DB.client = db; // assign to module property, for reuse
      ..............

            Assignee:
            christkv Christian Amor Kvalheim
            Reporter:
            mattador1 Josip Matic
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: