Skip to content

Commit d22e3ef

Browse files
committed
NODE-919 ReplicaSet connection does not close immediately (Issue #156)
1 parent 0d877ee commit d22e3ef

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

lib/mongos.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,9 @@ Mongos.prototype.lastIsMaster = function() {
398398
}
399399

400400
Mongos.prototype.close = function(forceClosed) {
401-
this.s.mongos.destroy();
401+
this.s.mongos.destroy({
402+
force: typeof forceClosed == 'boolean' ? forceClosed : false,
403+
});
402404
// We need to wash out all stored processes
403405
if(forceClosed == true) {
404406
this.s.storeOptions.force = forceClosed;

lib/replset.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,10 @@ ReplSet.prototype.lastIsMaster = function() {
447447

448448
ReplSet.prototype.close = function(forceClosed) {
449449
var self = this;
450-
this.s.replset.destroy();
450+
// Call destroy on the topology
451+
this.s.replset.destroy({
452+
force: typeof forceClosed == 'boolean' ? forceClosed : false,
453+
});
451454
// We need to wash out all stored processes
452455
if(forceClosed == true) {
453456
this.s.storeOptions.force = forceClosed;

test/functional/replset_connection_tests.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ exports['Should correctly connect with default replicaset'] = {
131131
db.open(function(err, p_db) {
132132
test.equal(null, err);
133133
p_db.close();
134+
// process.exit(0)
134135

135136
// console.log("==============================================")
136137
// console.dir(Object.keys(CoreConnection.connections()))

0 commit comments

Comments
 (0)