Skip to content

Commit 6e324a0

Browse files
committed
Implemented domain backward comp support enabled via domainsEnabled options on Server/ReplSet/Mongos and MongoClient.connect
1 parent 63ec4ef commit 6e324a0

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed

docs/reference/content/upgrade-migration/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Key features of the 2.1 driver include:
1313

1414
- Redesigned Connection Pool.
1515
- Connection close will drain any outstanding operations.
16+
- replicaSet parameter **MUST** be specified if using MongoClient to connect to replicaset, due to SDAM specification implementation.
17+
- domain support disabled by default, enable with parameter **domainsEnabled** on MongoClient or on the Server/ReplSet/Mongos.
1618

1719
# What's New in 2.1
1820

lib/mongos.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ var release = os.release();
5353
, 'sslCA', 'sslCert', 'sslKey', 'sslPass', 'socketOptions', 'bufferMaxEntries'
5454
, 'store', 'auto_reconnect', 'autoReconnect', 'emitError'
5555
, 'keepAlive', 'noDelay', 'connectTimeoutMS', 'socketTimeoutMS'
56-
, 'loggerLevel', 'logger', 'reconnectTries', 'appname'];
56+
, 'loggerLevel', 'logger', 'reconnectTries', 'appname', 'domainsEnabled'];
5757

5858
/**
5959
* Creates a new Mongos instance
@@ -77,6 +77,7 @@ var release = os.release();
7777
* @param {number} [options.socketOptions.keepAlive=0] TCP KeepAlive on the socket with a X ms delay before start.
7878
* @param {number} [options.socketOptions.connectTimeoutMS=0] TCP Connection timeout setting
7979
* @param {number} [options.socketOptions.socketTimeoutMS=0] TCP Socket timeout setting
80+
* @param {boolean} [options.domainsEnabled=false] Enable the wrapping of the callback in the current domain, disabled by default to avoid perf hit.
8081
* @fires Mongos#connect
8182
* @fires Mongos#ha
8283
* @fires Mongos#joined

lib/replset.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ var legalOptionNames = ['ha', 'haInterval', 'replicaSet', 'rs_name', 'secondaryA
4848
, 'sslCA', 'sslCert', 'sslKey', 'sslPass', 'socketOptions', 'bufferMaxEntries'
4949
, 'store', 'auto_reconnect', 'autoReconnect', 'emitError'
5050
, 'keepAlive', 'noDelay', 'connectTimeoutMS', 'socketTimeoutMS', 'strategy', 'debug'
51-
, 'loggerLevel', 'logger', 'reconnectTries', 'appname'];
51+
, 'loggerLevel', 'logger', 'reconnectTries', 'appname', 'domainsEnabled'];
5252

5353
// Get package.json variable
5454
var driverVersion = require(__dirname + '/../package.json').version;
@@ -82,6 +82,7 @@ var release = os.release();
8282
* @param {number} [options.socketOptions.keepAlive=0] TCP KeepAlive on the socket with a X ms delay before start.
8383
* @param {number} [options.socketOptions.connectTimeoutMS=10000] TCP Connection timeout setting
8484
* @param {number} [options.socketOptions.socketTimeoutMS=0] TCP Socket timeout setting
85+
* @param {boolean} [options.domainsEnabled=false] Enable the wrapping of the callback in the current domain, disabled by default to avoid perf hit.
8586
* @fires ReplSet#connect
8687
* @fires ReplSet#ha
8788
* @fires ReplSet#joined

lib/server.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ var release = os.release();
5050
, 'store', 'auto_reconnect', 'autoReconnect', 'emitError'
5151
, 'keepAlive', 'noDelay', 'connectTimeoutMS', 'socketTimeoutMS'
5252
, 'loggerLevel', 'logger', 'reconnectTries', 'reconnectInterval', 'monitoring'
53-
, 'appname'];
53+
, 'appname', 'domainsEnabled'];
5454

5555
/**
5656
* Creates a new Server instance
@@ -77,6 +77,7 @@ var release = os.release();
7777
* @param {number} [options.reconnectInterval=1000] Server will wait # milliseconds between retries
7878
* @param {number} [options.monitoring=true] Triggers the server instance to call ismaster
7979
* @param {number} [options.haInterval=10000] The interval of calling ismaster when monitoring is enabled.
80+
* @param {boolean} [options.domainsEnabled=false] Enable the wrapping of the callback in the current domain, disabled by default to avoid perf hit.
8081
* @fires Server#connect
8182
* @fires Server#close
8283
* @fires Server#error

test/runner.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,10 @@ var testFiles = [
335335
, '/test/functional/reconnect_tests.js',
336336

337337
// Bug tests
338-
, '/test/functional/jira_bug_tests.js'
338+
, '/test/functional/jira_bug_tests.js',
339+
340+
// Domain tests
341+
, '/test/functional/domain_tests.js'
339342
]
340343

341344
// Check if we support es6 generators

0 commit comments

Comments
 (0)