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

Replicaset timeout event

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

      I setup replicaset, I can connect to mongodb with my app. But when I shutdown whole replicaset (I get "left" event triggered 3 times) and then when I issue query from app to mongo server, webpage hangs, there is no timeout event triggered. So when I shutdown replicaset, mongo driver only triggers "left" event, nothings else ?. Can driver detect query timeout ? setting socketTimeout doesn't seem to work

      This is my setup
      var url = 'mongodb://' + config.db.host + ':9000,' + config.db.host + ':9001,' + config.db.host + ':9002' + '/viddb/?replicaSet=rs0';
      var options = {};
      options.db = {};
      options.db.native_parser = true;
      options.db.bufferMaxEntries = 100;
      options.db.numberOfRetries = 1;
      options.db.retryMiliSeconds = 100;
      options.replSet = {};
      options.replSet.poolSize = 1;
      options.replSet.socketOptions = {};
      options.replSet.socketOptions.socketTimeoutMS = 30000;
      options.replSet.socketOptions.connectTimeoutMS = 30000;
      options.server = {};
      options.server.socketOptions = {};
      options.server.socketOptions.autoReconnect = true;

      MongoClient.connect(url, options, function(err, db) {
      if (err)

      { throw err; }


      else {
      logger.status('Server connected to Db');
      db.on('close', function(res)

      { logger.status('connection close db level'); }

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

      { logger.status('connection reconenct db level'); }

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

      { logger.status('connection error db level'); }

      );
      db.on('timeout', function(res)

      { logger.status('connection timeout db level'); }

      );
      db.serverConfig.on('connect', function(result)

      { logger.status('Connection connect'); }

      );
      db.serverConfig.on('open', function(result)

      { logger.status('Connection opened'); }

      );
      db.serverConfig.on('close', function(result)

      { logger.status('Connection closed'); }

      );
      db.serverConfig.on('joined', function(err, server)

      { logger.status('Joined replicaset'); }

      );
      db.serverConfig.on('left', function(err, server)

      { logger.status('Left replicaset'); }

      );
      db.serverConfig.on('timeout', function(err, server)

      { logger.status('Timeout replicaset'); }

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

      { logger.status('Reconnect); }

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

      { logger.error('Replicaset Error:' + err); }

      );

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

              Created:
              Updated:
              Resolved: