mongodb 6.3.0 → 6.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/lib/bson.js +2 -1
- package/lib/bson.js.map +1 -1
- package/lib/bulk/common.js +14 -9
- package/lib/bulk/common.js.map +1 -1
- package/lib/change_stream.js +4 -2
- package/lib/change_stream.js.map +1 -1
- package/lib/client-side-encryption/state_machine.js +58 -52
- package/lib/client-side-encryption/state_machine.js.map +1 -1
- package/lib/cmap/auth/auth_provider.js +4 -0
- package/lib/cmap/auth/auth_provider.js.map +1 -1
- package/lib/cmap/auth/gssapi.js +1 -1
- package/lib/cmap/auth/gssapi.js.map +1 -1
- 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 +58 -55
- package/lib/cmap/auth/mongodb_aws.js.map +1 -1
- package/lib/cmap/auth/mongodb_oidc/callback_workflow.js +2 -2
- package/lib/cmap/auth/mongodb_oidc/callback_workflow.js.map +1 -1
- package/lib/cmap/auth/mongodb_oidc/service_workflow.js +1 -1
- package/lib/cmap/auth/mongodb_oidc/service_workflow.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/scram.js +5 -7
- 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 +6 -3
- package/lib/cmap/command_monitoring_events.js.map +1 -1
- package/lib/cmap/commands.js +2 -0
- package/lib/cmap/commands.js.map +1 -1
- package/lib/cmap/connect.js +88 -110
- package/lib/cmap/connect.js.map +1 -1
- package/lib/cmap/connection.js +280 -726
- package/lib/cmap/connection.js.map +1 -1
- package/lib/cmap/connection_pool.js +35 -95
- package/lib/cmap/connection_pool.js.map +1 -1
- package/lib/cmap/stream_description.js +19 -0
- package/lib/cmap/stream_description.js.map +1 -1
- package/lib/cmap/wire_protocol/compression.js.map +1 -1
- package/lib/cmap/wire_protocol/on_data.js +112 -0
- package/lib/cmap/wire_protocol/on_data.js.map +1 -0
- package/lib/collection.js +11 -3
- package/lib/collection.js.map +1 -1
- package/lib/connection_string.js +34 -2
- package/lib/connection_string.js.map +1 -1
- package/lib/constants.js +22 -2
- package/lib/constants.js.map +1 -1
- package/lib/cursor/abstract_cursor.js +5 -1
- package/lib/cursor/abstract_cursor.js.map +1 -1
- package/lib/error.js +7 -7
- package/lib/error.js.map +1 -1
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/mongo_client.js +8 -3
- package/lib/mongo_client.js.map +1 -1
- package/lib/mongo_client_auth_providers.js +55 -0
- package/lib/mongo_client_auth_providers.js.map +1 -0
- package/lib/mongo_logger.js +205 -27
- package/lib/mongo_logger.js.map +1 -1
- package/lib/mongo_types.js +26 -0
- package/lib/mongo_types.js.map +1 -1
- package/lib/operations/aggregate.js +3 -0
- package/lib/operations/aggregate.js.map +1 -1
- package/lib/operations/bulk_write.js +3 -0
- package/lib/operations/bulk_write.js.map +1 -1
- package/lib/operations/collections.js +3 -0
- package/lib/operations/collections.js.map +1 -1
- package/lib/operations/command.js +1 -1
- package/lib/operations/command.js.map +1 -1
- package/lib/operations/count.js +3 -0
- package/lib/operations/count.js.map +1 -1
- package/lib/operations/create_collection.js +3 -0
- package/lib/operations/create_collection.js.map +1 -1
- package/lib/operations/delete.js +3 -0
- package/lib/operations/delete.js.map +1 -1
- package/lib/operations/distinct.js +3 -0
- package/lib/operations/distinct.js.map +1 -1
- package/lib/operations/drop.js +6 -0
- package/lib/operations/drop.js.map +1 -1
- package/lib/operations/estimated_document_count.js +3 -0
- package/lib/operations/estimated_document_count.js.map +1 -1
- package/lib/operations/execute_operation.js +35 -9
- package/lib/operations/execute_operation.js.map +1 -1
- package/lib/operations/find.js +4 -1
- package/lib/operations/find.js.map +1 -1
- package/lib/operations/find_and_modify.js +5 -1
- package/lib/operations/find_and_modify.js.map +1 -1
- package/lib/operations/get_more.js +4 -1
- package/lib/operations/get_more.js.map +1 -1
- package/lib/operations/indexes.js +21 -0
- package/lib/operations/indexes.js.map +1 -1
- package/lib/operations/insert.js +6 -0
- package/lib/operations/insert.js.map +1 -1
- package/lib/operations/is_capped.js +3 -0
- package/lib/operations/is_capped.js.map +1 -1
- package/lib/operations/kill_cursors.js +4 -1
- package/lib/operations/kill_cursors.js.map +1 -1
- package/lib/operations/list_collections.js +3 -0
- package/lib/operations/list_collections.js.map +1 -1
- package/lib/operations/list_databases.js +3 -0
- package/lib/operations/list_databases.js.map +1 -1
- package/lib/operations/operation.js.map +1 -1
- package/lib/operations/options_operation.js +3 -0
- package/lib/operations/options_operation.js.map +1 -1
- package/lib/operations/profiling_level.js +3 -0
- package/lib/operations/profiling_level.js.map +1 -1
- package/lib/operations/remove_user.js +3 -0
- package/lib/operations/remove_user.js.map +1 -1
- package/lib/operations/rename.js +3 -0
- package/lib/operations/rename.js.map +1 -1
- package/lib/operations/run_command.js +8 -2
- package/lib/operations/run_command.js.map +1 -1
- package/lib/operations/search_indexes/create.js +4 -1
- package/lib/operations/search_indexes/create.js.map +1 -1
- package/lib/operations/search_indexes/drop.js +4 -1
- package/lib/operations/search_indexes/drop.js.map +1 -1
- package/lib/operations/search_indexes/update.js +4 -1
- package/lib/operations/search_indexes/update.js.map +1 -1
- package/lib/operations/set_profiling_level.js +3 -0
- package/lib/operations/set_profiling_level.js.map +1 -1
- package/lib/operations/stats.js +3 -0
- package/lib/operations/stats.js.map +1 -1
- package/lib/operations/update.js +3 -0
- package/lib/operations/update.js.map +1 -1
- package/lib/operations/validate_collection.js +3 -0
- package/lib/operations/validate_collection.js.map +1 -1
- package/lib/sdam/events.js +18 -0
- package/lib/sdam/events.js.map +1 -1
- package/lib/sdam/monitor.js +86 -71
- package/lib/sdam/monitor.js.map +1 -1
- package/lib/sdam/server.js +92 -98
- package/lib/sdam/server.js.map +1 -1
- package/lib/sdam/server_selection.js +13 -5
- package/lib/sdam/server_selection.js.map +1 -1
- package/lib/sdam/server_selection_events.js +85 -0
- package/lib/sdam/server_selection_events.js.map +1 -0
- package/lib/sdam/topology.js +61 -18
- package/lib/sdam/topology.js.map +1 -1
- package/lib/sessions.js +11 -9
- package/lib/sessions.js.map +1 -1
- package/lib/utils.js +25 -17
- package/lib/utils.js.map +1 -1
- package/mongodb.d.ts +131 -57
- package/package.json +28 -27
- package/src/bson.ts +2 -0
- package/src/bulk/common.ts +29 -22
- package/src/change_stream.ts +11 -5
- package/src/client-side-encryption/state_machine.ts +77 -62
- package/src/cmap/auth/auth_provider.ts +4 -0
- package/src/cmap/auth/gssapi.ts +1 -1
- package/src/cmap/auth/mongo_credentials.ts +2 -2
- package/src/cmap/auth/mongocr.ts +2 -6
- package/src/cmap/auth/mongodb_aws.ts +69 -64
- package/src/cmap/auth/mongodb_oidc/callback_workflow.ts +2 -2
- package/src/cmap/auth/mongodb_oidc/service_workflow.ts +1 -1
- package/src/cmap/auth/plain.ts +1 -1
- package/src/cmap/auth/scram.ts +7 -9
- package/src/cmap/auth/x509.ts +1 -5
- package/src/cmap/command_monitoring_events.ts +32 -4
- package/src/cmap/commands.ts +4 -0
- package/src/cmap/connect.ts +119 -159
- package/src/cmap/connection.ts +408 -961
- package/src/cmap/connection_pool.ts +93 -155
- package/src/cmap/stream_description.ts +21 -1
- package/src/cmap/wire_protocol/compression.ts +1 -2
- package/src/cmap/wire_protocol/on_data.ts +132 -0
- package/src/collection.ts +14 -6
- package/src/connection_string.ts +49 -3
- package/src/constants.ts +20 -0
- package/src/cursor/abstract_cursor.ts +7 -1
- package/src/error.ts +9 -9
- package/src/index.ts +33 -12
- package/src/mongo_client.ts +20 -7
- package/src/mongo_client_auth_providers.ts +54 -0
- package/src/mongo_logger.ts +376 -50
- package/src/mongo_types.ts +58 -3
- package/src/operations/aggregate.ts +4 -0
- package/src/operations/bulk_write.ts +4 -0
- package/src/operations/collections.ts +4 -0
- package/src/operations/command.ts +1 -1
- package/src/operations/count.ts +4 -0
- package/src/operations/create_collection.ts +4 -0
- package/src/operations/delete.ts +4 -0
- package/src/operations/distinct.ts +4 -0
- package/src/operations/drop.ts +8 -0
- package/src/operations/estimated_document_count.ts +4 -0
- package/src/operations/execute_operation.ts +28 -31
- package/src/operations/find.ts +5 -1
- package/src/operations/find_and_modify.ts +7 -5
- package/src/operations/get_more.ts +4 -1
- package/src/operations/indexes.ts +29 -0
- package/src/operations/insert.ts +8 -0
- package/src/operations/is_capped.ts +4 -0
- package/src/operations/kill_cursors.ts +5 -1
- package/src/operations/list_collections.ts +4 -0
- package/src/operations/list_databases.ts +4 -0
- package/src/operations/operation.ts +4 -0
- package/src/operations/options_operation.ts +3 -0
- package/src/operations/profiling_level.ts +4 -0
- package/src/operations/remove_user.ts +4 -0
- package/src/operations/rename.ts +4 -0
- package/src/operations/run_command.ts +10 -2
- package/src/operations/search_indexes/create.ts +5 -1
- package/src/operations/search_indexes/drop.ts +5 -1
- package/src/operations/search_indexes/update.ts +5 -1
- package/src/operations/set_profiling_level.ts +4 -0
- package/src/operations/stats.ts +4 -0
- package/src/operations/update.ts +4 -0
- package/src/operations/validate_collection.ts +4 -0
- package/src/sdam/events.ts +31 -3
- package/src/sdam/monitor.ts +119 -97
- package/src/sdam/server.ts +113 -152
- package/src/sdam/server_selection.ts +21 -13
- package/src/sdam/server_selection_events.ts +142 -0
- package/src/sdam/topology.ts +200 -46
- package/src/sessions.ts +33 -32
- package/src/utils.ts +28 -32
- package/lib/cmap/message_stream.js +0 -149
- package/lib/cmap/message_stream.js.map +0 -1
- package/src/cmap/message_stream.ts +0 -220
package/lib/sdam/events.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ServerHeartbeatFailedEvent = exports.ServerHeartbeatSucceededEvent = exports.ServerHeartbeatStartedEvent = exports.TopologyClosedEvent = exports.TopologyOpeningEvent = exports.TopologyDescriptionChangedEvent = exports.ServerClosedEvent = exports.ServerOpeningEvent = exports.ServerDescriptionChangedEvent = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
4
5
|
/**
|
|
5
6
|
* Emitted when server description changes, but does NOT include changes to the RTT.
|
|
6
7
|
* @public
|
|
@@ -9,6 +10,7 @@ exports.ServerHeartbeatFailedEvent = exports.ServerHeartbeatSucceededEvent = exp
|
|
|
9
10
|
class ServerDescriptionChangedEvent {
|
|
10
11
|
/** @internal */
|
|
11
12
|
constructor(topologyId, address, previousDescription, newDescription) {
|
|
13
|
+
this.name = constants_1.SERVER_DESCRIPTION_CHANGED;
|
|
12
14
|
this.topologyId = topologyId;
|
|
13
15
|
this.address = address;
|
|
14
16
|
this.previousDescription = previousDescription;
|
|
@@ -24,6 +26,8 @@ exports.ServerDescriptionChangedEvent = ServerDescriptionChangedEvent;
|
|
|
24
26
|
class ServerOpeningEvent {
|
|
25
27
|
/** @internal */
|
|
26
28
|
constructor(topologyId, address) {
|
|
29
|
+
/** @internal */
|
|
30
|
+
this.name = constants_1.SERVER_OPENING;
|
|
27
31
|
this.topologyId = topologyId;
|
|
28
32
|
this.address = address;
|
|
29
33
|
}
|
|
@@ -37,6 +41,8 @@ exports.ServerOpeningEvent = ServerOpeningEvent;
|
|
|
37
41
|
class ServerClosedEvent {
|
|
38
42
|
/** @internal */
|
|
39
43
|
constructor(topologyId, address) {
|
|
44
|
+
/** @internal */
|
|
45
|
+
this.name = constants_1.SERVER_CLOSED;
|
|
40
46
|
this.topologyId = topologyId;
|
|
41
47
|
this.address = address;
|
|
42
48
|
}
|
|
@@ -50,6 +56,8 @@ exports.ServerClosedEvent = ServerClosedEvent;
|
|
|
50
56
|
class TopologyDescriptionChangedEvent {
|
|
51
57
|
/** @internal */
|
|
52
58
|
constructor(topologyId, previousDescription, newDescription) {
|
|
59
|
+
/** @internal */
|
|
60
|
+
this.name = constants_1.TOPOLOGY_DESCRIPTION_CHANGED;
|
|
53
61
|
this.topologyId = topologyId;
|
|
54
62
|
this.previousDescription = previousDescription;
|
|
55
63
|
this.newDescription = newDescription;
|
|
@@ -64,6 +72,8 @@ exports.TopologyDescriptionChangedEvent = TopologyDescriptionChangedEvent;
|
|
|
64
72
|
class TopologyOpeningEvent {
|
|
65
73
|
/** @internal */
|
|
66
74
|
constructor(topologyId) {
|
|
75
|
+
/** @internal */
|
|
76
|
+
this.name = constants_1.TOPOLOGY_OPENING;
|
|
67
77
|
this.topologyId = topologyId;
|
|
68
78
|
}
|
|
69
79
|
}
|
|
@@ -76,6 +86,8 @@ exports.TopologyOpeningEvent = TopologyOpeningEvent;
|
|
|
76
86
|
class TopologyClosedEvent {
|
|
77
87
|
/** @internal */
|
|
78
88
|
constructor(topologyId) {
|
|
89
|
+
/** @internal */
|
|
90
|
+
this.name = constants_1.TOPOLOGY_CLOSED;
|
|
79
91
|
this.topologyId = topologyId;
|
|
80
92
|
}
|
|
81
93
|
}
|
|
@@ -90,6 +102,8 @@ exports.TopologyClosedEvent = TopologyClosedEvent;
|
|
|
90
102
|
class ServerHeartbeatStartedEvent {
|
|
91
103
|
/** @internal */
|
|
92
104
|
constructor(connectionId, awaited) {
|
|
105
|
+
/** @internal */
|
|
106
|
+
this.name = constants_1.SERVER_HEARTBEAT_STARTED;
|
|
93
107
|
this.connectionId = connectionId;
|
|
94
108
|
this.awaited = awaited;
|
|
95
109
|
}
|
|
@@ -103,6 +117,8 @@ exports.ServerHeartbeatStartedEvent = ServerHeartbeatStartedEvent;
|
|
|
103
117
|
class ServerHeartbeatSucceededEvent {
|
|
104
118
|
/** @internal */
|
|
105
119
|
constructor(connectionId, duration, reply, awaited) {
|
|
120
|
+
/** @internal */
|
|
121
|
+
this.name = constants_1.SERVER_HEARTBEAT_SUCCEEDED;
|
|
106
122
|
this.connectionId = connectionId;
|
|
107
123
|
this.duration = duration;
|
|
108
124
|
this.reply = reply ?? {};
|
|
@@ -118,6 +134,8 @@ exports.ServerHeartbeatSucceededEvent = ServerHeartbeatSucceededEvent;
|
|
|
118
134
|
class ServerHeartbeatFailedEvent {
|
|
119
135
|
/** @internal */
|
|
120
136
|
constructor(connectionId, duration, failure, awaited) {
|
|
137
|
+
/** @internal */
|
|
138
|
+
this.name = constants_1.SERVER_HEARTBEAT_FAILED;
|
|
121
139
|
this.connectionId = connectionId;
|
|
122
140
|
this.duration = duration;
|
|
123
141
|
this.failure = failure;
|
package/lib/sdam/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sdam/events.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/sdam/events.ts"],"names":[],"mappings":"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"}
|
package/lib/sdam/monitor.js
CHANGED
|
@@ -4,10 +4,10 @@ exports.MonitorInterval = exports.RTTPinger = exports.Monitor = exports.ServerMo
|
|
|
4
4
|
const timers_1 = require("timers");
|
|
5
5
|
const bson_1 = require("../bson");
|
|
6
6
|
const connect_1 = require("../cmap/connect");
|
|
7
|
-
const connection_1 = require("../cmap/connection");
|
|
8
7
|
const client_metadata_1 = require("../cmap/handshake/client_metadata");
|
|
9
8
|
const constants_1 = require("../constants");
|
|
10
9
|
const error_1 = require("../error");
|
|
10
|
+
const mongo_logger_1 = require("../mongo_logger");
|
|
11
11
|
const mongo_types_1 = require("../mongo_types");
|
|
12
12
|
const utils_1 = require("../utils");
|
|
13
13
|
const common_1 = require("./common");
|
|
@@ -18,8 +18,6 @@ const kServer = Symbol('server');
|
|
|
18
18
|
/** @internal */
|
|
19
19
|
const kMonitorId = Symbol('monitorId');
|
|
20
20
|
/** @internal */
|
|
21
|
-
const kConnection = Symbol('connection');
|
|
22
|
-
/** @internal */
|
|
23
21
|
const kCancellationToken = Symbol('cancellationToken');
|
|
24
22
|
/** @internal */
|
|
25
23
|
const kRoundTripTime = Symbol('roundTripTime');
|
|
@@ -43,13 +41,12 @@ exports.ServerMonitoringMode = Object.freeze({
|
|
|
43
41
|
});
|
|
44
42
|
/** @internal */
|
|
45
43
|
class Monitor extends mongo_types_1.TypedEventEmitter {
|
|
46
|
-
get connection() {
|
|
47
|
-
return this[kConnection];
|
|
48
|
-
}
|
|
49
44
|
constructor(server, options) {
|
|
50
45
|
super();
|
|
46
|
+
/** @internal */
|
|
47
|
+
this.component = mongo_logger_1.MongoLoggableComponent.TOPOLOGY;
|
|
51
48
|
this[kServer] = server;
|
|
52
|
-
this
|
|
49
|
+
this.connection = null;
|
|
53
50
|
this[kCancellationToken] = new mongo_types_1.CancellationToken();
|
|
54
51
|
this[kCancellationToken].setMaxListeners(Infinity);
|
|
55
52
|
this[kMonitorId] = undefined;
|
|
@@ -64,23 +61,22 @@ class Monitor extends mongo_types_1.TypedEventEmitter {
|
|
|
64
61
|
serverMonitoringMode: options.serverMonitoringMode
|
|
65
62
|
});
|
|
66
63
|
this.isRunningInFaasEnv = (0, client_metadata_1.getFAASEnv)() != null;
|
|
64
|
+
this.mongoLogger = this[kServer].topology.client?.mongoLogger;
|
|
67
65
|
const cancellationToken = this[kCancellationToken];
|
|
68
66
|
// TODO: refactor this to pull it directly from the pool, requires new ConnectionPool integration
|
|
69
|
-
const connectOptions =
|
|
67
|
+
const connectOptions = {
|
|
70
68
|
id: '<monitor>',
|
|
71
69
|
generation: server.pool.generation,
|
|
72
|
-
connectionType: connection_1.Connection,
|
|
73
70
|
cancellationToken,
|
|
74
|
-
hostAddress: server.description.hostAddress
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
{
|
|
71
|
+
hostAddress: server.description.hostAddress,
|
|
72
|
+
...options,
|
|
73
|
+
// force BSON serialization options
|
|
78
74
|
raw: false,
|
|
79
75
|
useBigInt64: false,
|
|
80
76
|
promoteLongs: true,
|
|
81
77
|
promoteValues: true,
|
|
82
78
|
promoteBuffers: true
|
|
83
|
-
}
|
|
79
|
+
};
|
|
84
80
|
// ensure no authentication is used for monitoring
|
|
85
81
|
delete connectOptions.credentials;
|
|
86
82
|
if (connectOptions.autoEncrypter) {
|
|
@@ -142,8 +138,8 @@ function resetMonitorState(monitor) {
|
|
|
142
138
|
monitor.rttPinger?.close();
|
|
143
139
|
monitor.rttPinger = undefined;
|
|
144
140
|
monitor[kCancellationToken].emit('cancel');
|
|
145
|
-
monitor
|
|
146
|
-
monitor
|
|
141
|
+
monitor.connection?.destroy({ force: true });
|
|
142
|
+
monitor.connection = null;
|
|
147
143
|
}
|
|
148
144
|
function useStreamingProtocol(monitor, topologyVersion) {
|
|
149
145
|
// If we have no topology version we always poll no matter
|
|
@@ -163,14 +159,15 @@ function useStreamingProtocol(monitor, topologyVersion) {
|
|
|
163
159
|
return true;
|
|
164
160
|
}
|
|
165
161
|
function checkServer(monitor, callback) {
|
|
166
|
-
let start
|
|
162
|
+
let start;
|
|
163
|
+
let awaited;
|
|
167
164
|
const topologyVersion = monitor[kServer].description.topologyVersion;
|
|
168
165
|
const isAwaitable = useStreamingProtocol(monitor, topologyVersion);
|
|
169
|
-
monitor.
|
|
170
|
-
function
|
|
171
|
-
monitor
|
|
172
|
-
monitor
|
|
173
|
-
monitor.
|
|
166
|
+
monitor.emitAndLogHeartbeat(server_1.Server.SERVER_HEARTBEAT_STARTED, monitor[kServer].topology.s.id, undefined, new events_1.ServerHeartbeatStartedEvent(monitor.address, isAwaitable));
|
|
167
|
+
function onHeartbeatFailed(err) {
|
|
168
|
+
monitor.connection?.destroy({ force: true });
|
|
169
|
+
monitor.connection = null;
|
|
170
|
+
monitor.emitAndLogHeartbeat(server_1.Server.SERVER_HEARTBEAT_FAILED, monitor[kServer].topology.s.id, undefined, new events_1.ServerHeartbeatFailedEvent(monitor.address, (0, utils_1.calculateDurationInMs)(start), err, awaited));
|
|
174
171
|
const error = !(err instanceof error_1.MongoError)
|
|
175
172
|
? new error_1.MongoError(error_1.MongoError.buildErrorMessage(err), { cause: err })
|
|
176
173
|
: err;
|
|
@@ -181,7 +178,30 @@ function checkServer(monitor, callback) {
|
|
|
181
178
|
monitor.emit('resetServer', error);
|
|
182
179
|
callback(err);
|
|
183
180
|
}
|
|
184
|
-
|
|
181
|
+
function onHeartbeatSucceeded(hello) {
|
|
182
|
+
if (!('isWritablePrimary' in hello)) {
|
|
183
|
+
// Provide hello-style response document.
|
|
184
|
+
hello.isWritablePrimary = hello[constants_1.LEGACY_HELLO_COMMAND];
|
|
185
|
+
}
|
|
186
|
+
const duration = isAwaitable && monitor.rttPinger
|
|
187
|
+
? monitor.rttPinger.roundTripTime
|
|
188
|
+
: (0, utils_1.calculateDurationInMs)(start);
|
|
189
|
+
monitor.emitAndLogHeartbeat(server_1.Server.SERVER_HEARTBEAT_SUCCEEDED, monitor[kServer].topology.s.id, hello.connectionId, new events_1.ServerHeartbeatSucceededEvent(monitor.address, duration, hello, isAwaitable));
|
|
190
|
+
if (isAwaitable) {
|
|
191
|
+
// If we are using the streaming protocol then we immediately issue another 'started'
|
|
192
|
+
// event, otherwise the "check" is complete and return to the main monitor loop
|
|
193
|
+
monitor.emitAndLogHeartbeat(server_1.Server.SERVER_HEARTBEAT_STARTED, monitor[kServer].topology.s.id, undefined, new events_1.ServerHeartbeatStartedEvent(monitor.address, true));
|
|
194
|
+
// We have not actually sent an outgoing handshake, but when we get the next response we
|
|
195
|
+
// want the duration to reflect the time since we last heard from the server
|
|
196
|
+
start = (0, utils_1.now)();
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
monitor.rttPinger?.close();
|
|
200
|
+
monitor.rttPinger = undefined;
|
|
201
|
+
callback(undefined, hello);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
const { connection } = monitor;
|
|
185
205
|
if (connection && !connection.closed) {
|
|
186
206
|
const { serverApi, helloOk } = connection;
|
|
187
207
|
const connectTimeoutMS = monitor.options.connectTimeoutMS;
|
|
@@ -201,51 +221,48 @@ function checkServer(monitor, callback) {
|
|
|
201
221
|
if (isAwaitable && monitor.rttPinger == null) {
|
|
202
222
|
monitor.rttPinger = new RTTPinger(monitor[kCancellationToken], Object.assign({ heartbeatFrequencyMS: monitor.options.heartbeatFrequencyMS }, monitor.connectOptions));
|
|
203
223
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
if (isAwaitable) {
|
|
219
|
-
monitor.emit(server_1.Server.SERVER_HEARTBEAT_STARTED, new events_1.ServerHeartbeatStartedEvent(monitor.address, true));
|
|
220
|
-
start = (0, utils_1.now)();
|
|
221
|
-
}
|
|
222
|
-
else {
|
|
223
|
-
monitor.rttPinger?.close();
|
|
224
|
-
monitor.rttPinger = undefined;
|
|
225
|
-
callback(undefined, hello);
|
|
226
|
-
}
|
|
227
|
-
});
|
|
224
|
+
// Record new start time before sending handshake
|
|
225
|
+
start = (0, utils_1.now)();
|
|
226
|
+
if (isAwaitable) {
|
|
227
|
+
awaited = true;
|
|
228
|
+
return connection.exhaustCommand((0, utils_1.ns)('admin.$cmd'), cmd, options, (error, hello) => {
|
|
229
|
+
if (error)
|
|
230
|
+
return onHeartbeatFailed(error);
|
|
231
|
+
return onHeartbeatSucceeded(hello);
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
awaited = false;
|
|
235
|
+
connection
|
|
236
|
+
.command((0, utils_1.ns)('admin.$cmd'), cmd, options)
|
|
237
|
+
.then(onHeartbeatSucceeded, onHeartbeatFailed);
|
|
228
238
|
return;
|
|
229
239
|
}
|
|
230
240
|
// connecting does an implicit `hello`
|
|
231
|
-
(
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
241
|
+
(async () => {
|
|
242
|
+
const socket = await (0, connect_1.makeSocket)(monitor.connectOptions);
|
|
243
|
+
const connection = (0, connect_1.makeConnection)(monitor.connectOptions, socket);
|
|
244
|
+
// The start time is after socket creation but before the handshake
|
|
245
|
+
start = (0, utils_1.now)();
|
|
246
|
+
try {
|
|
247
|
+
await (0, connect_1.performInitialHandshake)(connection, monitor.connectOptions);
|
|
248
|
+
return connection;
|
|
236
249
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
monitor[kConnection] = conn;
|
|
246
|
-
monitor.emit(server_1.Server.SERVER_HEARTBEAT_SUCCEEDED, new events_1.ServerHeartbeatSucceededEvent(monitor.address, (0, utils_1.calculateDurationInMs)(start), conn.hello, useStreamingProtocol(monitor, conn.hello?.topologyVersion)));
|
|
247
|
-
callback(undefined, conn.hello);
|
|
250
|
+
catch (error) {
|
|
251
|
+
connection.destroy({ force: false });
|
|
252
|
+
throw error;
|
|
253
|
+
}
|
|
254
|
+
})().then(connection => {
|
|
255
|
+
if (isInCloseState(monitor)) {
|
|
256
|
+
connection.destroy({ force: true });
|
|
257
|
+
return;
|
|
248
258
|
}
|
|
259
|
+
monitor.connection = connection;
|
|
260
|
+
monitor.emitAndLogHeartbeat(server_1.Server.SERVER_HEARTBEAT_SUCCEEDED, monitor[kServer].topology.s.id, connection.hello?.connectionId, new events_1.ServerHeartbeatSucceededEvent(monitor.address, (0, utils_1.calculateDurationInMs)(start), connection.hello, useStreamingProtocol(monitor, connection.hello?.topologyVersion)));
|
|
261
|
+
callback(undefined, connection.hello);
|
|
262
|
+
}, error => {
|
|
263
|
+
monitor.connection = null;
|
|
264
|
+
awaited = false;
|
|
265
|
+
onHeartbeatFailed(error);
|
|
249
266
|
});
|
|
250
267
|
}
|
|
251
268
|
function monitorServer(monitor) {
|
|
@@ -329,18 +346,16 @@ function measureRoundTripTime(rttPinger, options) {
|
|
|
329
346
|
}
|
|
330
347
|
const connection = rttPinger.connection;
|
|
331
348
|
if (connection == null) {
|
|
332
|
-
(0, connect_1.connect)(options
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
}
|
|
338
|
-
measureAndReschedule(conn);
|
|
349
|
+
(0, connect_1.connect)(options).then(connection => {
|
|
350
|
+
measureAndReschedule(connection);
|
|
351
|
+
}, () => {
|
|
352
|
+
rttPinger.connection = undefined;
|
|
353
|
+
rttPinger[kRoundTripTime] = 0;
|
|
339
354
|
});
|
|
340
355
|
return;
|
|
341
356
|
}
|
|
342
357
|
const commandName = connection.serverApi?.version || connection.helloOk ? 'hello' : constants_1.LEGACY_HELLO_COMMAND;
|
|
343
|
-
connection.
|
|
358
|
+
connection.command((0, utils_1.ns)('admin.$cmd'), { [commandName]: 1 }, undefined).then(() => measureAndReschedule(), () => {
|
|
344
359
|
rttPinger.connection?.destroy({ force: true });
|
|
345
360
|
rttPinger.connection = undefined;
|
|
346
361
|
rttPinger[kRoundTripTime] = 0;
|
package/lib/sdam/monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/sdam/monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../src/sdam/monitor.ts"],"names":[],"mappings":"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"}
|