mongodb 4.2.1 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/lib/admin.js +3 -3
- package/lib/admin.js.map +1 -1
- package/lib/bson.js +16 -14
- package/lib/bson.js.map +1 -1
- package/lib/bulk/common.js +7 -7
- package/lib/bulk/common.js.map +1 -1
- package/lib/bulk/ordered.js +1 -1
- package/lib/bulk/ordered.js.map +1 -1
- package/lib/bulk/unordered.js +1 -1
- package/lib/bulk/unordered.js.map +1 -1
- package/lib/change_stream.js +6 -6
- package/lib/change_stream.js.map +1 -1
- package/lib/cmap/auth/auth_provider.js.map +1 -1
- package/lib/cmap/auth/gssapi.js +52 -10
- package/lib/cmap/auth/gssapi.js.map +1 -1
- package/lib/cmap/auth/mongo_credentials.js +36 -27
- package/lib/cmap/auth/mongo_credentials.js.map +1 -1
- package/lib/cmap/auth/mongocr.js +2 -2
- package/lib/cmap/auth/mongocr.js.map +1 -1
- package/lib/cmap/auth/mongodb_aws.js +6 -6
- package/lib/cmap/auth/mongodb_aws.js.map +1 -1
- package/lib/cmap/auth/plain.js +1 -1
- package/lib/cmap/auth/plain.js.map +1 -1
- package/lib/cmap/auth/providers.js +21 -0
- package/lib/cmap/auth/providers.js.map +1 -0
- package/lib/cmap/auth/scram.js +4 -4
- package/lib/cmap/auth/scram.js.map +1 -1
- package/lib/cmap/auth/x509.js +1 -1
- package/lib/cmap/auth/x509.js.map +1 -1
- package/lib/cmap/command_monitoring_events.js +3 -2
- package/lib/cmap/command_monitoring_events.js.map +1 -1
- package/lib/cmap/commands.js +14 -8
- package/lib/cmap/commands.js.map +1 -1
- package/lib/cmap/connect.js +119 -37
- package/lib/cmap/connect.js.map +1 -1
- package/lib/cmap/connection.js +36 -35
- package/lib/cmap/connection.js.map +1 -1
- package/lib/cmap/connection_pool.js +19 -30
- package/lib/cmap/connection_pool.js.map +1 -1
- package/lib/cmap/message_stream.js +3 -3
- package/lib/cmap/message_stream.js.map +1 -1
- package/lib/cmap/stream_description.js +4 -4
- package/lib/cmap/stream_description.js.map +1 -1
- package/lib/cmap/wire_protocol/compression.js +2 -1
- package/lib/cmap/wire_protocol/compression.js.map +1 -1
- package/lib/cmap/wire_protocol/shared.js +4 -3
- package/lib/cmap/wire_protocol/shared.js.map +1 -1
- package/lib/collection.js +46 -47
- package/lib/collection.js.map +1 -1
- package/lib/connection_string.js +93 -54
- package/lib/connection_string.js.map +1 -1
- package/lib/constants.js +113 -1
- package/lib/constants.js.map +1 -1
- package/lib/cursor/abstract_cursor.js +5 -5
- package/lib/cursor/abstract_cursor.js.map +1 -1
- package/lib/cursor/aggregation_cursor.js +1 -1
- package/lib/cursor/aggregation_cursor.js.map +1 -1
- package/lib/cursor/find_cursor.js +2 -1
- package/lib/cursor/find_cursor.js.map +1 -1
- package/lib/db.js +23 -13
- package/lib/db.js.map +1 -1
- package/lib/deps.js +0 -1
- package/lib/deps.js.map +1 -1
- package/lib/encrypter.js +12 -4
- package/lib/encrypter.js.map +1 -1
- package/lib/error.js +47 -24
- package/lib/error.js.map +1 -1
- package/lib/gridfs/download.js +1 -1
- package/lib/gridfs/download.js.map +1 -1
- package/lib/gridfs/index.js +3 -3
- package/lib/gridfs/index.js.map +1 -1
- package/lib/gridfs/upload.js +3 -2
- package/lib/gridfs/upload.js.map +1 -1
- package/lib/index.js +83 -81
- package/lib/index.js.map +1 -1
- package/lib/logger.js +1 -1
- package/lib/logger.js.map +1 -1
- package/lib/mongo_client.js +5 -5
- package/lib/mongo_client.js.map +1 -1
- package/lib/mongo_types.js.map +1 -1
- package/lib/operations/add_user.js +3 -3
- package/lib/operations/add_user.js.map +1 -1
- package/lib/operations/aggregate.js +1 -1
- package/lib/operations/aggregate.js.map +1 -1
- package/lib/operations/bulk_write.js.map +1 -1
- package/lib/operations/collections.js +1 -1
- package/lib/operations/collections.js.map +1 -1
- package/lib/operations/command.js +5 -6
- package/lib/operations/command.js.map +1 -1
- package/lib/operations/common_functions.js.map +1 -1
- package/lib/operations/connect.js +4 -13
- package/lib/operations/connect.js.map +1 -1
- package/lib/operations/count.js +1 -1
- package/lib/operations/count.js.map +1 -1
- package/lib/operations/count_documents.js.map +1 -1
- package/lib/operations/create_collection.js +3 -2
- package/lib/operations/create_collection.js.map +1 -1
- package/lib/operations/delete.js +3 -3
- package/lib/operations/delete.js.map +1 -1
- package/lib/operations/distinct.js +3 -3
- package/lib/operations/distinct.js.map +1 -1
- package/lib/operations/drop.js +1 -1
- package/lib/operations/drop.js.map +1 -1
- package/lib/operations/estimated_document_count.js +2 -2
- package/lib/operations/estimated_document_count.js.map +1 -1
- package/lib/operations/eval.js +2 -2
- package/lib/operations/eval.js.map +1 -1
- package/lib/operations/execute_operation.js +5 -6
- package/lib/operations/execute_operation.js.map +1 -1
- package/lib/operations/find.js +5 -5
- package/lib/operations/find.js.map +1 -1
- package/lib/operations/find_and_modify.js +2 -2
- package/lib/operations/find_and_modify.js.map +1 -1
- package/lib/operations/get_more.js.map +1 -1
- package/lib/operations/indexes.js +4 -4
- package/lib/operations/indexes.js.map +1 -1
- package/lib/operations/insert.js +3 -3
- package/lib/operations/insert.js.map +1 -1
- package/lib/operations/is_capped.js +1 -1
- package/lib/operations/is_capped.js.map +1 -1
- package/lib/operations/list_collections.js +3 -3
- package/lib/operations/list_collections.js.map +1 -1
- package/lib/operations/list_databases.js +1 -1
- package/lib/operations/list_databases.js.map +1 -1
- package/lib/operations/map_reduce.js +4 -3
- package/lib/operations/map_reduce.js.map +1 -1
- package/lib/operations/operation.js +1 -1
- package/lib/operations/operation.js.map +1 -1
- package/lib/operations/options_operation.js +1 -1
- package/lib/operations/options_operation.js.map +1 -1
- package/lib/operations/profiling_level.js +1 -1
- package/lib/operations/profiling_level.js.map +1 -1
- package/lib/operations/remove_user.js +1 -1
- package/lib/operations/remove_user.js.map +1 -1
- package/lib/operations/rename.js +3 -3
- package/lib/operations/rename.js.map +1 -1
- package/lib/operations/run_command.js +1 -1
- package/lib/operations/run_command.js.map +1 -1
- package/lib/operations/set_profiling_level.js +2 -2
- package/lib/operations/set_profiling_level.js.map +1 -1
- package/lib/operations/stats.js +1 -1
- package/lib/operations/stats.js.map +1 -1
- package/lib/operations/update.js +2 -2
- package/lib/operations/update.js.map +1 -1
- package/lib/operations/validate_collection.js +1 -1
- package/lib/operations/validate_collection.js.map +1 -1
- package/lib/read_preference.js +15 -5
- package/lib/read_preference.js.map +1 -1
- package/lib/sdam/events.js +4 -4
- package/lib/sdam/monitor.js +19 -18
- package/lib/sdam/monitor.js.map +1 -1
- package/lib/sdam/server.js +24 -31
- package/lib/sdam/server.js.map +1 -1
- package/lib/sdam/server_description.js +38 -38
- package/lib/sdam/server_description.js.map +1 -1
- package/lib/sdam/server_selection.js +2 -2
- package/lib/sdam/server_selection.js.map +1 -1
- package/lib/sdam/srv_polling.js +2 -2
- package/lib/sdam/srv_polling.js.map +1 -1
- package/lib/sdam/topology.js +32 -62
- package/lib/sdam/topology.js.map +1 -1
- package/lib/sdam/topology_description.js +3 -3
- package/lib/sdam/topology_description.js.map +1 -1
- package/lib/sessions.js +13 -28
- package/lib/sessions.js.map +1 -1
- package/lib/transactions.js +1 -1
- package/lib/transactions.js.map +1 -1
- package/lib/utils.js +46 -15
- package/lib/utils.js.map +1 -1
- package/mongodb.d.ts +205 -60
- package/mongodb.ts34.d.ts +230 -59
- package/package.json +40 -37
- package/src/admin.ts +9 -9
- package/src/bson.ts +25 -17
- package/src/bulk/common.ts +22 -23
- package/src/bulk/ordered.ts +4 -4
- package/src/bulk/unordered.ts +5 -5
- package/src/change_stream.ts +29 -28
- package/src/cmap/auth/auth_provider.ts +3 -3
- package/src/cmap/auth/gssapi.ts +65 -14
- package/src/cmap/auth/mongo_credentials.ts +28 -17
- package/src/cmap/auth/mongocr.ts +3 -2
- package/src/cmap/auth/mongodb_aws.ts +10 -11
- package/src/cmap/auth/plain.ts +1 -1
- package/src/cmap/auth/providers.ts +21 -0
- package/src/cmap/auth/scram.ts +9 -9
- package/src/cmap/auth/x509.ts +3 -3
- package/src/cmap/command_monitoring_events.ts +4 -3
- package/src/cmap/commands.ts +22 -14
- package/src/cmap/connect.ts +161 -45
- package/src/cmap/connection.ts +83 -63
- package/src/cmap/connection_pool.ts +39 -39
- package/src/cmap/connection_pool_events.ts +1 -1
- package/src/cmap/message_stream.ts +9 -8
- package/src/cmap/stream_description.ts +5 -5
- package/src/cmap/wire_protocol/compression.ts +4 -3
- package/src/cmap/wire_protocol/shared.ts +10 -9
- package/src/collection.ts +116 -93
- package/src/connection_string.ts +130 -59
- package/src/constants.ts +122 -0
- package/src/cursor/abstract_cursor.ts +14 -13
- package/src/cursor/aggregation_cursor.ts +6 -6
- package/src/cursor/find_cursor.ts +12 -4
- package/src/db.ts +44 -33
- package/src/deps.ts +44 -1
- package/src/encrypter.ts +12 -3
- package/src/error.ts +52 -24
- package/src/gridfs/download.ts +10 -8
- package/src/gridfs/index.ts +11 -11
- package/src/gridfs/upload.ts +13 -10
- package/src/index.ts +205 -199
- package/src/logger.ts +2 -1
- package/src/mongo_client.ts +46 -32
- package/src/mongo_types.ts +119 -21
- package/src/operations/add_user.ts +7 -6
- package/src/operations/aggregate.ts +5 -5
- package/src/operations/bulk_write.ts +5 -5
- package/src/operations/collections.ts +2 -2
- package/src/operations/command.ts +15 -9
- package/src/operations/common_functions.ts +4 -4
- package/src/operations/connect.ts +4 -14
- package/src/operations/count.ts +4 -4
- package/src/operations/count_documents.ts +3 -3
- package/src/operations/create_collection.ts +7 -6
- package/src/operations/delete.ts +5 -5
- package/src/operations/distinct.ts +4 -4
- package/src/operations/drop.ts +4 -4
- package/src/operations/estimated_document_count.ts +5 -5
- package/src/operations/eval.ts +5 -5
- package/src/operations/execute_operation.ts +10 -11
- package/src/operations/find.ts +14 -14
- package/src/operations/find_and_modify.ts +7 -7
- package/src/operations/get_more.ts +2 -2
- package/src/operations/indexes.ts +16 -16
- package/src/operations/insert.ts +9 -9
- package/src/operations/is_capped.ts +3 -3
- package/src/operations/list_collections.ts +6 -6
- package/src/operations/list_databases.ts +4 -4
- package/src/operations/map_reduce.ts +10 -9
- package/src/operations/operation.ts +3 -3
- package/src/operations/options_operation.ts +3 -3
- package/src/operations/profiling_level.ts +4 -4
- package/src/operations/remove_user.ts +4 -4
- package/src/operations/rename.ts +6 -6
- package/src/operations/run_command.ts +3 -3
- package/src/operations/set_profiling_level.ts +6 -5
- package/src/operations/stats.ts +4 -4
- package/src/operations/update.ts +10 -10
- package/src/operations/validate_collection.ts +4 -4
- package/src/read_preference.ts +18 -7
- package/src/sdam/common.ts +2 -2
- package/src/sdam/events.ts +5 -5
- package/src/sdam/monitor.ts +29 -32
- package/src/sdam/server.ts +64 -62
- package/src/sdam/server_description.ts +41 -48
- package/src/sdam/server_selection.ts +3 -3
- package/src/sdam/srv_polling.ts +3 -2
- package/src/sdam/topology.ts +71 -89
- package/src/sdam/topology_description.ts +5 -5
- package/src/sessions.ts +31 -48
- package/src/transactions.ts +4 -4
- package/src/utils.ts +64 -28
- package/lib/cmap/auth/defaultAuthProviders.js +0 -30
- package/lib/cmap/auth/defaultAuthProviders.js.map +0 -1
- package/src/cmap/auth/defaultAuthProviders.ts +0 -32
package/lib/sdam/server.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.Server = void 0;
|
|
4
|
+
const connection_1 = require("../cmap/connection");
|
|
5
5
|
const connection_pool_1 = require("../cmap/connection_pool");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const error_1 = require("../error");
|
|
8
|
+
const logger_1 = require("../logger");
|
|
9
|
+
const mongo_types_1 = require("../mongo_types");
|
|
8
10
|
const transactions_1 = require("../transactions");
|
|
9
11
|
const utils_1 = require("../utils");
|
|
10
12
|
const common_1 = require("./common");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const mongo_types_1 = require("../mongo_types");
|
|
14
|
-
const utils_2 = require("../utils");
|
|
13
|
+
const monitor_1 = require("./monitor");
|
|
14
|
+
const server_description_1 = require("./server_description");
|
|
15
15
|
const stateTransition = (0, utils_1.makeStateMachine)({
|
|
16
16
|
[common_1.STATE_CLOSED]: [common_1.STATE_CLOSED, common_1.STATE_CONNECTING],
|
|
17
17
|
[common_1.STATE_CONNECTING]: [common_1.STATE_CONNECTING, common_1.STATE_CLOSING, common_1.STATE_CONNECTED, common_1.STATE_CLOSED],
|
|
@@ -37,7 +37,7 @@ class Server extends mongo_types_1.TypedEventEmitter {
|
|
|
37
37
|
topology,
|
|
38
38
|
pool: new connection_pool_1.ConnectionPool(poolOptions)
|
|
39
39
|
};
|
|
40
|
-
for (const event of [...
|
|
40
|
+
for (const event of [...constants_1.CMAP_EVENTS, ...constants_1.APM_EVENTS]) {
|
|
41
41
|
this.s.pool.on(event, (e) => this.emit(event, e));
|
|
42
42
|
}
|
|
43
43
|
this.s.pool.on(connection_1.Connection.CLUSTER_TIME_RECEIVED, (clusterTime) => {
|
|
@@ -48,7 +48,7 @@ class Server extends mongo_types_1.TypedEventEmitter {
|
|
|
48
48
|
return;
|
|
49
49
|
// create the monitor
|
|
50
50
|
this[kMonitor] = new monitor_1.Monitor(this, this.s.options);
|
|
51
|
-
for (const event of
|
|
51
|
+
for (const event of constants_1.HEARTBEAT_EVENTS) {
|
|
52
52
|
this[kMonitor].on(event, (e) => this.emit(event, e));
|
|
53
53
|
}
|
|
54
54
|
this[kMonitor].on('resetConnectionPool', () => {
|
|
@@ -65,6 +65,12 @@ class Server extends mongo_types_1.TypedEventEmitter {
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
+
get clusterTime() {
|
|
69
|
+
return this.s.topology.clusterTime;
|
|
70
|
+
}
|
|
71
|
+
set clusterTime(clusterTime) {
|
|
72
|
+
this.s.topology.clusterTime = clusterTime;
|
|
73
|
+
}
|
|
68
74
|
get description() {
|
|
69
75
|
return this.s.description;
|
|
70
76
|
}
|
|
@@ -241,32 +247,19 @@ class Server extends mongo_types_1.TypedEventEmitter {
|
|
|
241
247
|
}
|
|
242
248
|
exports.Server = Server;
|
|
243
249
|
/** @event */
|
|
244
|
-
Server.SERVER_HEARTBEAT_STARTED =
|
|
250
|
+
Server.SERVER_HEARTBEAT_STARTED = constants_1.SERVER_HEARTBEAT_STARTED;
|
|
245
251
|
/** @event */
|
|
246
|
-
Server.SERVER_HEARTBEAT_SUCCEEDED =
|
|
252
|
+
Server.SERVER_HEARTBEAT_SUCCEEDED = constants_1.SERVER_HEARTBEAT_SUCCEEDED;
|
|
247
253
|
/** @event */
|
|
248
|
-
Server.SERVER_HEARTBEAT_FAILED =
|
|
254
|
+
Server.SERVER_HEARTBEAT_FAILED = constants_1.SERVER_HEARTBEAT_FAILED;
|
|
249
255
|
/** @event */
|
|
250
|
-
Server.CONNECT =
|
|
256
|
+
Server.CONNECT = constants_1.CONNECT;
|
|
251
257
|
/** @event */
|
|
252
|
-
Server.DESCRIPTION_RECEIVED =
|
|
258
|
+
Server.DESCRIPTION_RECEIVED = constants_1.DESCRIPTION_RECEIVED;
|
|
253
259
|
/** @event */
|
|
254
|
-
Server.CLOSED =
|
|
260
|
+
Server.CLOSED = constants_1.CLOSED;
|
|
255
261
|
/** @event */
|
|
256
|
-
Server.ENDED =
|
|
257
|
-
exports.HEARTBEAT_EVENTS = [
|
|
258
|
-
Server.SERVER_HEARTBEAT_STARTED,
|
|
259
|
-
Server.SERVER_HEARTBEAT_SUCCEEDED,
|
|
260
|
-
Server.SERVER_HEARTBEAT_FAILED
|
|
261
|
-
];
|
|
262
|
-
Object.defineProperty(Server.prototype, 'clusterTime', {
|
|
263
|
-
get() {
|
|
264
|
-
return this.s.topology.clusterTime;
|
|
265
|
-
},
|
|
266
|
-
set(clusterTime) {
|
|
267
|
-
this.s.topology.clusterTime = clusterTime;
|
|
268
|
-
}
|
|
269
|
-
});
|
|
262
|
+
Server.ENDED = constants_1.ENDED;
|
|
270
263
|
function calculateRoundTripTime(oldRtt, duration) {
|
|
271
264
|
if (oldRtt === -1) {
|
|
272
265
|
return duration;
|
|
@@ -330,7 +323,7 @@ function makeOperationHandler(server, connection, cmd, options, callback) {
|
|
|
330
323
|
err.addErrorLabel('TransientTransactionError');
|
|
331
324
|
}
|
|
332
325
|
if ((isRetryableWritesEnabled(server.s.topology) || (0, transactions_1.isTransactionCommand)(cmd)) &&
|
|
333
|
-
(0,
|
|
326
|
+
(0, utils_1.supportsRetryableWrites)(server) &&
|
|
334
327
|
!inActiveTransaction(session, cmd)) {
|
|
335
328
|
err.addErrorLabel('RetryableWriteError');
|
|
336
329
|
}
|
package/lib/sdam/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sdam/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compareTopologyVersion = exports.parseServerType = exports.ServerDescription = void 0;
|
|
4
|
+
const bson_1 = require("../bson");
|
|
4
5
|
const utils_1 = require("../utils");
|
|
5
6
|
const common_1 = require("./common");
|
|
6
|
-
const bson_1 = require("../bson");
|
|
7
7
|
const WRITABLE_SERVER_TYPES = new Set([
|
|
8
8
|
common_1.ServerType.RSPrimary,
|
|
9
9
|
common_1.ServerType.Standalone,
|
|
@@ -18,7 +18,7 @@ const DATA_BEARING_SERVER_TYPES = new Set([
|
|
|
18
18
|
common_1.ServerType.LoadBalancer
|
|
19
19
|
]);
|
|
20
20
|
/**
|
|
21
|
-
* The client's view of a single server, based on the most recent
|
|
21
|
+
* The client's view of a single server, based on the most recent hello outcome.
|
|
22
22
|
*
|
|
23
23
|
* Internal type, not meant to be directly instantiated
|
|
24
24
|
* @public
|
|
@@ -29,9 +29,9 @@ class ServerDescription {
|
|
|
29
29
|
* @internal
|
|
30
30
|
*
|
|
31
31
|
* @param address - The address of the server
|
|
32
|
-
* @param
|
|
32
|
+
* @param hello - An optional hello response for this server
|
|
33
33
|
*/
|
|
34
|
-
constructor(address,
|
|
34
|
+
constructor(address, hello, options) {
|
|
35
35
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
36
36
|
if (typeof address === 'string') {
|
|
37
37
|
this._hostAddress = new utils_1.HostAddress(address);
|
|
@@ -41,45 +41,45 @@ class ServerDescription {
|
|
|
41
41
|
this._hostAddress = address;
|
|
42
42
|
this.address = this._hostAddress.toString();
|
|
43
43
|
}
|
|
44
|
-
this.type = parseServerType(
|
|
45
|
-
this.hosts = (_b = (_a =
|
|
46
|
-
this.passives = (_d = (_c =
|
|
47
|
-
this.arbiters = (_f = (_e =
|
|
48
|
-
this.tags = (_g =
|
|
49
|
-
this.minWireVersion = (_h =
|
|
50
|
-
this.maxWireVersion = (_j =
|
|
44
|
+
this.type = parseServerType(hello, options);
|
|
45
|
+
this.hosts = (_b = (_a = hello === null || hello === void 0 ? void 0 : hello.hosts) === null || _a === void 0 ? void 0 : _a.map((host) => host.toLowerCase())) !== null && _b !== void 0 ? _b : [];
|
|
46
|
+
this.passives = (_d = (_c = hello === null || hello === void 0 ? void 0 : hello.passives) === null || _c === void 0 ? void 0 : _c.map((host) => host.toLowerCase())) !== null && _d !== void 0 ? _d : [];
|
|
47
|
+
this.arbiters = (_f = (_e = hello === null || hello === void 0 ? void 0 : hello.arbiters) === null || _e === void 0 ? void 0 : _e.map((host) => host.toLowerCase())) !== null && _f !== void 0 ? _f : [];
|
|
48
|
+
this.tags = (_g = hello === null || hello === void 0 ? void 0 : hello.tags) !== null && _g !== void 0 ? _g : {};
|
|
49
|
+
this.minWireVersion = (_h = hello === null || hello === void 0 ? void 0 : hello.minWireVersion) !== null && _h !== void 0 ? _h : 0;
|
|
50
|
+
this.maxWireVersion = (_j = hello === null || hello === void 0 ? void 0 : hello.maxWireVersion) !== null && _j !== void 0 ? _j : 0;
|
|
51
51
|
this.roundTripTime = (_k = options === null || options === void 0 ? void 0 : options.roundTripTime) !== null && _k !== void 0 ? _k : -1;
|
|
52
52
|
this.lastUpdateTime = (0, utils_1.now)();
|
|
53
|
-
this.lastWriteDate = (_m = (_l =
|
|
53
|
+
this.lastWriteDate = (_m = (_l = hello === null || hello === void 0 ? void 0 : hello.lastWrite) === null || _l === void 0 ? void 0 : _l.lastWriteDate) !== null && _m !== void 0 ? _m : 0;
|
|
54
54
|
if (options === null || options === void 0 ? void 0 : options.topologyVersion) {
|
|
55
55
|
this.topologyVersion = options.topologyVersion;
|
|
56
56
|
}
|
|
57
|
-
else if (
|
|
58
|
-
this.topologyVersion =
|
|
57
|
+
else if (hello === null || hello === void 0 ? void 0 : hello.topologyVersion) {
|
|
58
|
+
this.topologyVersion = hello.topologyVersion;
|
|
59
59
|
}
|
|
60
60
|
if (options === null || options === void 0 ? void 0 : options.error) {
|
|
61
61
|
this.error = options.error;
|
|
62
62
|
}
|
|
63
|
-
if (
|
|
64
|
-
this.primary =
|
|
63
|
+
if (hello === null || hello === void 0 ? void 0 : hello.primary) {
|
|
64
|
+
this.primary = hello.primary;
|
|
65
65
|
}
|
|
66
|
-
if (
|
|
67
|
-
this.me =
|
|
66
|
+
if (hello === null || hello === void 0 ? void 0 : hello.me) {
|
|
67
|
+
this.me = hello.me.toLowerCase();
|
|
68
68
|
}
|
|
69
|
-
if (
|
|
70
|
-
this.setName =
|
|
69
|
+
if (hello === null || hello === void 0 ? void 0 : hello.setName) {
|
|
70
|
+
this.setName = hello.setName;
|
|
71
71
|
}
|
|
72
|
-
if (
|
|
73
|
-
this.setVersion =
|
|
72
|
+
if (hello === null || hello === void 0 ? void 0 : hello.setVersion) {
|
|
73
|
+
this.setVersion = hello.setVersion;
|
|
74
74
|
}
|
|
75
|
-
if (
|
|
76
|
-
this.electionId =
|
|
75
|
+
if (hello === null || hello === void 0 ? void 0 : hello.electionId) {
|
|
76
|
+
this.electionId = hello.electionId;
|
|
77
77
|
}
|
|
78
|
-
if (
|
|
79
|
-
this.logicalSessionTimeoutMinutes =
|
|
78
|
+
if (hello === null || hello === void 0 ? void 0 : hello.logicalSessionTimeoutMinutes) {
|
|
79
|
+
this.logicalSessionTimeoutMinutes = hello.logicalSessionTimeoutMinutes;
|
|
80
80
|
}
|
|
81
|
-
if (
|
|
82
|
-
this.$clusterTime =
|
|
81
|
+
if (hello === null || hello === void 0 ? void 0 : hello.$clusterTime) {
|
|
82
|
+
this.$clusterTime = hello.$clusterTime;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
get hostAddress() {
|
|
@@ -136,31 +136,31 @@ class ServerDescription {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
exports.ServerDescription = ServerDescription;
|
|
139
|
-
// Parses
|
|
140
|
-
function parseServerType(
|
|
139
|
+
// Parses a `hello` message and determines the server type
|
|
140
|
+
function parseServerType(hello, options) {
|
|
141
141
|
if (options === null || options === void 0 ? void 0 : options.loadBalanced) {
|
|
142
142
|
return common_1.ServerType.LoadBalancer;
|
|
143
143
|
}
|
|
144
|
-
if (!
|
|
144
|
+
if (!hello || !hello.ok) {
|
|
145
145
|
return common_1.ServerType.Unknown;
|
|
146
146
|
}
|
|
147
|
-
if (
|
|
147
|
+
if (hello.isreplicaset) {
|
|
148
148
|
return common_1.ServerType.RSGhost;
|
|
149
149
|
}
|
|
150
|
-
if (
|
|
150
|
+
if (hello.msg && hello.msg === 'isdbgrid') {
|
|
151
151
|
return common_1.ServerType.Mongos;
|
|
152
152
|
}
|
|
153
|
-
if (
|
|
154
|
-
if (
|
|
153
|
+
if (hello.setName) {
|
|
154
|
+
if (hello.hidden) {
|
|
155
155
|
return common_1.ServerType.RSOther;
|
|
156
156
|
}
|
|
157
|
-
else if (
|
|
157
|
+
else if (hello.isWritablePrimary) {
|
|
158
158
|
return common_1.ServerType.RSPrimary;
|
|
159
159
|
}
|
|
160
|
-
else if (
|
|
160
|
+
else if (hello.secondary) {
|
|
161
161
|
return common_1.ServerType.RSSecondary;
|
|
162
162
|
}
|
|
163
|
-
else if (
|
|
163
|
+
else if (hello.arbiterOnly) {
|
|
164
164
|
return common_1.ServerType.RSArbiter;
|
|
165
165
|
}
|
|
166
166
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_description.js","sourceRoot":"","sources":["../../src/sdam/server_description.ts"],"names":[],"mappings":";;;AAAA,oCAAgF;
|
|
1
|
+
{"version":3,"file":"server_description.js","sourceRoot":"","sources":["../../src/sdam/server_description.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.readPreferenceServerSelector = exports.secondaryWritableServerSelector = exports.sameServerSelector = exports.writableServerSelector = exports.MIN_SECONDARY_WRITE_WIRE_VERSION = void 0;
|
|
4
|
-
const common_1 = require("./common");
|
|
5
|
-
const read_preference_1 = require("../read_preference");
|
|
6
4
|
const error_1 = require("../error");
|
|
5
|
+
const read_preference_1 = require("../read_preference");
|
|
6
|
+
const common_1 = require("./common");
|
|
7
7
|
// max staleness constants
|
|
8
8
|
const IDLE_WRITE_PERIOD = 10000;
|
|
9
9
|
const SMALLEST_MAX_STALENESS_SECONDS = 90;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_selection.js","sourceRoot":"","sources":["../../src/sdam/server_selection.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"server_selection.js","sourceRoot":"","sources":["../../src/sdam/server_selection.ts"],"names":[],"mappings":"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"}
|
package/lib/sdam/srv_polling.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SrvPoller = exports.SrvPollingEvent = void 0;
|
|
4
4
|
const dns = require("dns");
|
|
5
|
+
const error_1 = require("../error");
|
|
5
6
|
const logger_1 = require("../logger");
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
7
|
const mongo_types_1 = require("../mongo_types");
|
|
8
|
-
const
|
|
8
|
+
const utils_1 = require("../utils");
|
|
9
9
|
/**
|
|
10
10
|
* Determines whether a provided address matches the provided parent domain in order
|
|
11
11
|
* to avoid certain attack vectors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srv_polling.js","sourceRoot":"","sources":["../../src/sdam/srv_polling.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;
|
|
1
|
+
{"version":3,"file":"srv_polling.js","sourceRoot":"","sources":["../../src/sdam/srv_polling.ts"],"names":[],"mappings":"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"}
|
package/lib/sdam/topology.js
CHANGED
|
@@ -1,42 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ServerCapabilities = exports.
|
|
3
|
+
exports.ServerCapabilities = exports.Topology = void 0;
|
|
4
4
|
const Denque = require("denque");
|
|
5
|
+
const bson_1 = require("../bson");
|
|
6
|
+
const connection_string_1 = require("../connection_string");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const error_1 = require("../error");
|
|
9
|
+
const mongo_types_1 = require("../mongo_types");
|
|
5
10
|
const read_preference_1 = require("../read_preference");
|
|
6
|
-
const server_description_1 = require("./server_description");
|
|
7
|
-
const topology_description_1 = require("./topology_description");
|
|
8
|
-
const server_1 = require("./server");
|
|
9
11
|
const sessions_1 = require("../sessions");
|
|
10
|
-
const srv_polling_1 = require("./srv_polling");
|
|
11
|
-
const connection_pool_1 = require("../cmap/connection_pool");
|
|
12
|
-
const error_1 = require("../error");
|
|
13
|
-
const server_selection_1 = require("./server_selection");
|
|
14
12
|
const utils_1 = require("../utils");
|
|
15
13
|
const common_1 = require("./common");
|
|
16
14
|
const events_1 = require("./events");
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
15
|
+
const server_1 = require("./server");
|
|
16
|
+
const server_description_1 = require("./server_description");
|
|
17
|
+
const server_selection_1 = require("./server_selection");
|
|
18
|
+
const srv_polling_1 = require("./srv_polling");
|
|
19
|
+
const topology_description_1 = require("./topology_description");
|
|
21
20
|
// Global state
|
|
22
21
|
let globalTopologyCounter = 0;
|
|
23
|
-
// events that we relay to the `Topology`
|
|
24
|
-
const SERVER_RELAY_EVENTS = [
|
|
25
|
-
server_1.Server.SERVER_HEARTBEAT_STARTED,
|
|
26
|
-
server_1.Server.SERVER_HEARTBEAT_SUCCEEDED,
|
|
27
|
-
server_1.Server.SERVER_HEARTBEAT_FAILED,
|
|
28
|
-
connection_1.Connection.COMMAND_STARTED,
|
|
29
|
-
connection_1.Connection.COMMAND_SUCCEEDED,
|
|
30
|
-
connection_1.Connection.COMMAND_FAILED,
|
|
31
|
-
...connection_pool_1.CMAP_EVENTS
|
|
32
|
-
];
|
|
33
|
-
// all events we listen to from `Server` instances
|
|
34
|
-
const LOCAL_SERVER_EVENTS = [
|
|
35
|
-
server_1.Server.CONNECT,
|
|
36
|
-
server_1.Server.DESCRIPTION_RECEIVED,
|
|
37
|
-
server_1.Server.CLOSED,
|
|
38
|
-
server_1.Server.ENDED
|
|
39
|
-
];
|
|
40
22
|
const stateTransition = (0, utils_1.makeStateMachine)({
|
|
41
23
|
[common_1.STATE_CLOSED]: [common_1.STATE_CLOSED, common_1.STATE_CONNECTING],
|
|
42
24
|
[common_1.STATE_CONNECTING]: [common_1.STATE_CONNECTING, common_1.STATE_CLOSING, common_1.STATE_CONNECTED, common_1.STATE_CLOSED],
|
|
@@ -183,7 +165,7 @@ class Topology extends mongo_types_1.TypedEventEmitter {
|
|
|
183
165
|
return this.s.options.loadBalanced;
|
|
184
166
|
}
|
|
185
167
|
get capabilities() {
|
|
186
|
-
return new ServerCapabilities(this.
|
|
168
|
+
return new ServerCapabilities(this.lastHello());
|
|
187
169
|
}
|
|
188
170
|
/** Initiate server connect */
|
|
189
171
|
connect(options, callback) {
|
|
@@ -453,10 +435,10 @@ class Topology extends mongo_types_1.TypedEventEmitter {
|
|
|
453
435
|
unref() {
|
|
454
436
|
(0, utils_1.emitWarning)('`unref` is a noop and will be removed in the next major version');
|
|
455
437
|
}
|
|
456
|
-
// NOTE: There are many places in code where we explicitly check the last
|
|
438
|
+
// NOTE: There are many places in code where we explicitly check the last hello
|
|
457
439
|
// to do feature support detection. This should be done any other way, but for
|
|
458
|
-
// now we will just return the first
|
|
459
|
-
|
|
440
|
+
// now we will just return the first hello seen, which should suffice.
|
|
441
|
+
lastHello() {
|
|
460
442
|
const serverDescriptions = Array.from(this.description.servers.values());
|
|
461
443
|
if (serverDescriptions.length === 0)
|
|
462
444
|
return {};
|
|
@@ -479,48 +461,36 @@ class Topology extends mongo_types_1.TypedEventEmitter {
|
|
|
479
461
|
}
|
|
480
462
|
exports.Topology = Topology;
|
|
481
463
|
/** @event */
|
|
482
|
-
Topology.SERVER_OPENING =
|
|
464
|
+
Topology.SERVER_OPENING = constants_1.SERVER_OPENING;
|
|
483
465
|
/** @event */
|
|
484
|
-
Topology.SERVER_CLOSED =
|
|
466
|
+
Topology.SERVER_CLOSED = constants_1.SERVER_CLOSED;
|
|
485
467
|
/** @event */
|
|
486
|
-
Topology.SERVER_DESCRIPTION_CHANGED =
|
|
468
|
+
Topology.SERVER_DESCRIPTION_CHANGED = constants_1.SERVER_DESCRIPTION_CHANGED;
|
|
487
469
|
/** @event */
|
|
488
|
-
Topology.TOPOLOGY_OPENING =
|
|
470
|
+
Topology.TOPOLOGY_OPENING = constants_1.TOPOLOGY_OPENING;
|
|
489
471
|
/** @event */
|
|
490
|
-
Topology.TOPOLOGY_CLOSED =
|
|
472
|
+
Topology.TOPOLOGY_CLOSED = constants_1.TOPOLOGY_CLOSED;
|
|
491
473
|
/** @event */
|
|
492
|
-
Topology.TOPOLOGY_DESCRIPTION_CHANGED =
|
|
474
|
+
Topology.TOPOLOGY_DESCRIPTION_CHANGED = constants_1.TOPOLOGY_DESCRIPTION_CHANGED;
|
|
493
475
|
/** @event */
|
|
494
|
-
Topology.ERROR =
|
|
476
|
+
Topology.ERROR = constants_1.ERROR;
|
|
495
477
|
/** @event */
|
|
496
|
-
Topology.OPEN =
|
|
478
|
+
Topology.OPEN = constants_1.OPEN;
|
|
497
479
|
/** @event */
|
|
498
|
-
Topology.CONNECT =
|
|
480
|
+
Topology.CONNECT = constants_1.CONNECT;
|
|
499
481
|
/** @event */
|
|
500
|
-
Topology.CLOSE =
|
|
482
|
+
Topology.CLOSE = constants_1.CLOSE;
|
|
501
483
|
/** @event */
|
|
502
|
-
Topology.TIMEOUT =
|
|
503
|
-
/** @public */
|
|
504
|
-
exports.TOPOLOGY_EVENTS = [
|
|
505
|
-
Topology.SERVER_OPENING,
|
|
506
|
-
Topology.SERVER_CLOSED,
|
|
507
|
-
Topology.SERVER_DESCRIPTION_CHANGED,
|
|
508
|
-
Topology.TOPOLOGY_OPENING,
|
|
509
|
-
Topology.TOPOLOGY_CLOSED,
|
|
510
|
-
Topology.TOPOLOGY_DESCRIPTION_CHANGED,
|
|
511
|
-
Topology.ERROR,
|
|
512
|
-
Topology.TIMEOUT,
|
|
513
|
-
Topology.CLOSE
|
|
514
|
-
];
|
|
484
|
+
Topology.TIMEOUT = constants_1.TIMEOUT;
|
|
515
485
|
/** Destroys a server, and removes all event listeners from the instance */
|
|
516
486
|
function destroyServer(server, topology, options, callback) {
|
|
517
487
|
options = options !== null && options !== void 0 ? options : {};
|
|
518
|
-
for (const event of LOCAL_SERVER_EVENTS) {
|
|
488
|
+
for (const event of constants_1.LOCAL_SERVER_EVENTS) {
|
|
519
489
|
server.removeAllListeners(event);
|
|
520
490
|
}
|
|
521
491
|
server.destroy(options, () => {
|
|
522
492
|
topology.emit(Topology.SERVER_CLOSED, new events_1.ServerClosedEvent(topology.s.id, server.description.address));
|
|
523
|
-
for (const event of SERVER_RELAY_EVENTS) {
|
|
493
|
+
for (const event of constants_1.SERVER_RELAY_EVENTS) {
|
|
524
494
|
server.removeAllListeners(event);
|
|
525
495
|
}
|
|
526
496
|
if (typeof callback === 'function') {
|
|
@@ -554,7 +524,7 @@ function randomSelection(array) {
|
|
|
554
524
|
function createAndConnectServer(topology, serverDescription, connectDelay) {
|
|
555
525
|
topology.emit(Topology.SERVER_OPENING, new events_1.ServerOpeningEvent(topology.s.id, serverDescription.address));
|
|
556
526
|
const server = new server_1.Server(topology, serverDescription, topology.s.options);
|
|
557
|
-
for (const event of SERVER_RELAY_EVENTS) {
|
|
527
|
+
for (const event of constants_1.SERVER_RELAY_EVENTS) {
|
|
558
528
|
server.on(event, (e) => topology.emit(event, e));
|
|
559
529
|
}
|
|
560
530
|
server.on(server_1.Server.DESCRIPTION_RECEIVED, description => topology.serverUpdateHandler(description));
|
|
@@ -694,9 +664,9 @@ function isStaleServerDescription(topologyDescription, incomingServerDescription
|
|
|
694
664
|
}
|
|
695
665
|
/** @public */
|
|
696
666
|
class ServerCapabilities {
|
|
697
|
-
constructor(
|
|
698
|
-
this.minWireVersion =
|
|
699
|
-
this.maxWireVersion =
|
|
667
|
+
constructor(hello) {
|
|
668
|
+
this.minWireVersion = hello.minWireVersion || 0;
|
|
669
|
+
this.maxWireVersion = hello.maxWireVersion || 0;
|
|
700
670
|
}
|
|
701
671
|
get hasAggregationCursor() {
|
|
702
672
|
return this.maxWireVersion >= 1;
|