Skip to content

Commit

Permalink
fix(replset): use correct topologyId for event emission
Browse files Browse the repository at this point in the history
  • Loading branch information
mbroadst committed Oct 23, 2019
1 parent d4c3a2a commit 19549ff
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions lib/core/topologies/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ var serverAccounting = false;
var servers = {};
var BSON = retrieveBSON();

function topologyId(server) {
return server.s.parent == null ? server.id : server.s.parent.id;
}

/**
* Creates a new Server instance
* @class
Expand Down Expand Up @@ -151,8 +155,6 @@ var Server = function(options) {
// Monitoring timeout
monitoringInterval:
typeof options.monitoringInterval === 'number' ? options.monitoringInterval : 5000,
// Topology id
topologyId: -1,
compression: { compressors: createCompressionInfo(options) },
// Optional parent topology
parent: options.parent
Expand Down Expand Up @@ -486,14 +488,11 @@ Server.prototype.connect = function(options) {

// Emit toplogy opening event if not in topology
if (!self.s.inTopology) {
this.emit('topologyOpening', { topologyId: self.id });
this.emit('topologyOpening', { topologyId: topologyId(self) });
}

// Emit opening server event
self.emit('serverOpening', {
topologyId: self.s.topologyId !== -1 ? self.s.topologyId : self.id,
address: self.name
});
self.emit('serverOpening', { topologyId: topologyId(self), address: self.name });

self.s.pool.connect();
};
Expand Down Expand Up @@ -883,14 +882,11 @@ Server.prototype.destroy = function(options, callback) {

// Emit opening server event
if (self.listeners('serverClosed').length > 0)
self.emit('serverClosed', {
topologyId: self.s.topologyId !== -1 ? self.s.topologyId : self.id,
address: self.name
});
self.emit('serverClosed', { topologyId: topologyId(self), address: self.name });

// Emit toplogy opening event if not in topology
if (self.listeners('topologyClosed').length > 0 && !self.s.inTopology) {
self.emit('topologyClosed', { topologyId: self.id });
self.emit('topologyClosed', { topologyId: topologyId(self) });
}

if (self.s.logger.isDebug()) {
Expand Down

0 comments on commit 19549ff

Please sign in to comment.