mongodb 6.12.0-dev.20241211.sha.2f9ad4d4 → 6.12.0-dev.20241212.sha.f6d7868f
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/beta.d.ts +16 -85
- package/lib/bulk/common.js +5 -7
- package/lib/bulk/common.js.map +1 -1
- package/lib/change_stream.js +16 -26
- package/lib/change_stream.js.map +1 -1
- package/lib/cmap/connection_pool.js +83 -117
- package/lib/cmap/connection_pool.js.map +1 -1
- package/lib/encrypter.js +5 -9
- package/lib/encrypter.js.map +1 -1
- package/lib/error.js +10 -18
- package/lib/error.js.map +1 -1
- package/lib/mongo_client.js +20 -26
- package/lib/mongo_client.js.map +1 -1
- package/lib/operations/operation.js +4 -5
- package/lib/operations/operation.js.map +1 -1
- package/lib/sdam/monitor.js +25 -31
- package/lib/sdam/monitor.js.map +1 -1
- package/lib/sdam/server.js +1 -1
- package/lib/sdam/server.js.map +1 -1
- package/lib/sdam/topology.js +13 -16
- package/lib/sdam/topology.js.map +1 -1
- package/lib/sessions.js +24 -48
- package/lib/sessions.js.map +1 -1
- package/mongodb.d.ts +16 -85
- package/package.json +1 -1
- package/src/bulk/common.ts +6 -9
- package/src/change_stream.ts +21 -33
- package/src/cmap/connection_pool.ts +104 -142
- package/src/encrypter.ts +6 -11
- package/src/error.ts +11 -23
- package/src/mongo_client.ts +26 -32
- package/src/operations/operation.ts +5 -7
- package/src/sdam/monitor.ts +30 -38
- package/src/sdam/server.ts +2 -2
- package/src/sdam/topology.ts +15 -19
- package/src/sessions.ts +37 -58
|
@@ -13,34 +13,6 @@ const connection_pool_events_1 = require("./connection_pool_events");
|
|
|
13
13
|
const errors_1 = require("./errors");
|
|
14
14
|
const metrics_1 = require("./metrics");
|
|
15
15
|
/** @internal */
|
|
16
|
-
const kServer = Symbol('server');
|
|
17
|
-
/** @internal */
|
|
18
|
-
const kConnections = Symbol('connections');
|
|
19
|
-
/** @internal */
|
|
20
|
-
const kPending = Symbol('pending');
|
|
21
|
-
/** @internal */
|
|
22
|
-
const kCheckedOut = Symbol('checkedOut');
|
|
23
|
-
/** @internal */
|
|
24
|
-
const kMinPoolSizeTimer = Symbol('minPoolSizeTimer');
|
|
25
|
-
/** @internal */
|
|
26
|
-
const kGeneration = Symbol('generation');
|
|
27
|
-
/** @internal */
|
|
28
|
-
const kServiceGenerations = Symbol('serviceGenerations');
|
|
29
|
-
/** @internal */
|
|
30
|
-
const kConnectionCounter = Symbol('connectionCounter');
|
|
31
|
-
/** @internal */
|
|
32
|
-
const kCancellationToken = Symbol('cancellationToken');
|
|
33
|
-
/** @internal */
|
|
34
|
-
const kWaitQueue = Symbol('waitQueue');
|
|
35
|
-
/** @internal */
|
|
36
|
-
const kCancelled = Symbol('cancelled');
|
|
37
|
-
/** @internal */
|
|
38
|
-
const kMetrics = Symbol('metrics');
|
|
39
|
-
/** @internal */
|
|
40
|
-
const kProcessingWaitQueue = Symbol('processingWaitQueue');
|
|
41
|
-
/** @internal */
|
|
42
|
-
const kPoolState = Symbol('poolState');
|
|
43
|
-
/** @internal */
|
|
44
16
|
exports.PoolState = Object.freeze({
|
|
45
17
|
paused: 'paused',
|
|
46
18
|
ready: 'ready',
|
|
@@ -67,21 +39,21 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
67
39
|
if (this.options.minPoolSize > this.options.maxPoolSize) {
|
|
68
40
|
throw new error_1.MongoInvalidArgumentError('Connection pool minimum size must not be greater than maximum pool size');
|
|
69
41
|
}
|
|
70
|
-
this
|
|
71
|
-
this
|
|
72
|
-
this
|
|
73
|
-
this
|
|
74
|
-
this
|
|
75
|
-
this
|
|
76
|
-
this
|
|
77
|
-
this
|
|
78
|
-
this
|
|
79
|
-
this
|
|
80
|
-
this
|
|
81
|
-
this
|
|
82
|
-
this
|
|
83
|
-
this
|
|
84
|
-
this.mongoLogger = this
|
|
42
|
+
this.poolState = exports.PoolState.paused;
|
|
43
|
+
this.server = server;
|
|
44
|
+
this.connections = new utils_1.List();
|
|
45
|
+
this.pending = 0;
|
|
46
|
+
this.checkedOut = new Set();
|
|
47
|
+
this.minPoolSizeTimer = undefined;
|
|
48
|
+
this.generation = 0;
|
|
49
|
+
this.serviceGenerations = new Map();
|
|
50
|
+
this.connectionCounter = (0, utils_1.makeCounter)(1);
|
|
51
|
+
this.cancellationToken = new mongo_types_1.CancellationToken();
|
|
52
|
+
this.cancellationToken.setMaxListeners(Infinity);
|
|
53
|
+
this.waitQueue = new utils_1.List();
|
|
54
|
+
this.metrics = new metrics_1.ConnectionPoolMetrics();
|
|
55
|
+
this.processingWaitQueue = false;
|
|
56
|
+
this.mongoLogger = this.server.topology.client?.mongoLogger;
|
|
85
57
|
this.component = 'connection';
|
|
86
58
|
process.nextTick(() => {
|
|
87
59
|
this.emitAndLog(ConnectionPool.CONNECTION_POOL_CREATED, new connection_pool_events_1.ConnectionPoolCreatedEvent(this));
|
|
@@ -97,11 +69,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
97
69
|
* TODO(NODE-3263): We can remove this property once shell no longer needs it
|
|
98
70
|
*/
|
|
99
71
|
get closed() {
|
|
100
|
-
return this
|
|
101
|
-
}
|
|
102
|
-
/** An integer representing the SDAM generation of the pool */
|
|
103
|
-
get generation() {
|
|
104
|
-
return this[kGeneration];
|
|
72
|
+
return this.poolState === exports.PoolState.closed;
|
|
105
73
|
}
|
|
106
74
|
/** An integer expressing how many total connections (available + pending + in use) the pool currently has */
|
|
107
75
|
get totalConnectionCount() {
|
|
@@ -109,25 +77,22 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
109
77
|
}
|
|
110
78
|
/** An integer expressing how many connections are currently available in the pool. */
|
|
111
79
|
get availableConnectionCount() {
|
|
112
|
-
return this
|
|
80
|
+
return this.connections.length;
|
|
113
81
|
}
|
|
114
82
|
get pendingConnectionCount() {
|
|
115
|
-
return this
|
|
83
|
+
return this.pending;
|
|
116
84
|
}
|
|
117
85
|
get currentCheckedOutCount() {
|
|
118
|
-
return this
|
|
86
|
+
return this.checkedOut.size;
|
|
119
87
|
}
|
|
120
88
|
get waitQueueSize() {
|
|
121
|
-
return this
|
|
89
|
+
return this.waitQueue.length;
|
|
122
90
|
}
|
|
123
91
|
get loadBalanced() {
|
|
124
92
|
return this.options.loadBalanced;
|
|
125
93
|
}
|
|
126
|
-
get serviceGenerations() {
|
|
127
|
-
return this[kServiceGenerations];
|
|
128
|
-
}
|
|
129
94
|
get serverError() {
|
|
130
|
-
return this
|
|
95
|
+
return this.server.description.error;
|
|
131
96
|
}
|
|
132
97
|
/**
|
|
133
98
|
* This is exposed ONLY for use in mongosh, to enable
|
|
@@ -137,24 +102,24 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
137
102
|
* This property may be removed as a part of NODE-3263.
|
|
138
103
|
*/
|
|
139
104
|
get checkedOutConnections() {
|
|
140
|
-
return this
|
|
105
|
+
return this.checkedOut;
|
|
141
106
|
}
|
|
142
107
|
/**
|
|
143
108
|
* Get the metrics information for the pool when a wait queue timeout occurs.
|
|
144
109
|
*/
|
|
145
110
|
waitQueueErrorMetrics() {
|
|
146
|
-
return this
|
|
111
|
+
return this.metrics.info(this.options.maxPoolSize);
|
|
147
112
|
}
|
|
148
113
|
/**
|
|
149
114
|
* Set the pool state to "ready"
|
|
150
115
|
*/
|
|
151
116
|
ready() {
|
|
152
|
-
if (this
|
|
117
|
+
if (this.poolState !== exports.PoolState.paused) {
|
|
153
118
|
return;
|
|
154
119
|
}
|
|
155
|
-
this
|
|
120
|
+
this.poolState = exports.PoolState.ready;
|
|
156
121
|
this.emitAndLog(ConnectionPool.CONNECTION_POOL_READY, new connection_pool_events_1.ConnectionPoolReadyEvent(this));
|
|
157
|
-
(0, timers_1.clearTimeout)(this
|
|
122
|
+
(0, timers_1.clearTimeout)(this.minPoolSizeTimer);
|
|
158
123
|
this.ensureMinPoolSize();
|
|
159
124
|
}
|
|
160
125
|
/**
|
|
@@ -170,9 +135,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
170
135
|
const waitQueueMember = {
|
|
171
136
|
resolve,
|
|
172
137
|
reject,
|
|
138
|
+
cancelled: false,
|
|
173
139
|
checkoutTime
|
|
174
140
|
};
|
|
175
|
-
this
|
|
141
|
+
this.waitQueue.push(waitQueueMember);
|
|
176
142
|
process.nextTick(() => this.processWaitQueue());
|
|
177
143
|
try {
|
|
178
144
|
timeout?.throwIfExpired();
|
|
@@ -181,7 +147,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
181
147
|
catch (error) {
|
|
182
148
|
if (timeout_1.TimeoutError.is(error)) {
|
|
183
149
|
timeout?.clear();
|
|
184
|
-
waitQueueMember
|
|
150
|
+
waitQueueMember.cancelled = true;
|
|
185
151
|
this.emitAndLog(ConnectionPool.CONNECTION_CHECK_OUT_FAILED, new connection_pool_events_1.ConnectionCheckOutFailedEvent(this, 'timeout', waitQueueMember.checkoutTime));
|
|
186
152
|
const timeoutError = new errors_1.WaitQueueTimeoutError(this.loadBalanced
|
|
187
153
|
? this.waitQueueErrorMetrics()
|
|
@@ -205,7 +171,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
205
171
|
* @param connection - The connection to check in
|
|
206
172
|
*/
|
|
207
173
|
checkIn(connection) {
|
|
208
|
-
if (!this
|
|
174
|
+
if (!this.checkedOut.has(connection)) {
|
|
209
175
|
return;
|
|
210
176
|
}
|
|
211
177
|
const poolClosed = this.closed;
|
|
@@ -213,9 +179,9 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
213
179
|
const willDestroy = !!(poolClosed || stale || connection.closed);
|
|
214
180
|
if (!willDestroy) {
|
|
215
181
|
connection.markAvailable();
|
|
216
|
-
this
|
|
182
|
+
this.connections.unshift(connection);
|
|
217
183
|
}
|
|
218
|
-
this
|
|
184
|
+
this.checkedOut.delete(connection);
|
|
219
185
|
this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_IN, new connection_pool_events_1.ConnectionCheckedInEvent(this, connection));
|
|
220
186
|
if (willDestroy) {
|
|
221
187
|
const reason = connection.closed ? 'error' : poolClosed ? 'poolClosed' : 'stale';
|
|
@@ -255,10 +221,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
255
221
|
}
|
|
256
222
|
// handle non load-balanced case
|
|
257
223
|
const interruptInUseConnections = options.interruptInUseConnections ?? false;
|
|
258
|
-
const oldGeneration = this
|
|
259
|
-
this
|
|
260
|
-
const alreadyPaused = this
|
|
261
|
-
this
|
|
224
|
+
const oldGeneration = this.generation;
|
|
225
|
+
this.generation += 1;
|
|
226
|
+
const alreadyPaused = this.poolState === exports.PoolState.paused;
|
|
227
|
+
this.poolState = exports.PoolState.paused;
|
|
262
228
|
this.clearMinPoolSizeTimer();
|
|
263
229
|
if (!alreadyPaused) {
|
|
264
230
|
this.emitAndLog(ConnectionPool.CONNECTION_POOL_CLEARED, new connection_pool_events_1.ConnectionPoolClearedEvent(this, {
|
|
@@ -276,7 +242,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
276
242
|
* Only connections where `connection.generation <= minGeneration` are killed.
|
|
277
243
|
*/
|
|
278
244
|
interruptInUseConnections(minGeneration) {
|
|
279
|
-
for (const connection of this
|
|
245
|
+
for (const connection of this.checkedOut) {
|
|
280
246
|
if (connection.generation <= minGeneration) {
|
|
281
247
|
connection.onError(new errors_1.PoolClearedOnNetworkError(this));
|
|
282
248
|
this.checkIn(connection);
|
|
@@ -289,19 +255,19 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
289
255
|
return;
|
|
290
256
|
}
|
|
291
257
|
// immediately cancel any in-flight connections
|
|
292
|
-
this
|
|
258
|
+
this.cancellationToken.emit('cancel');
|
|
293
259
|
// end the connection counter
|
|
294
|
-
if (typeof this
|
|
295
|
-
this
|
|
260
|
+
if (typeof this.connectionCounter.return === 'function') {
|
|
261
|
+
this.connectionCounter.return(undefined);
|
|
296
262
|
}
|
|
297
|
-
this
|
|
263
|
+
this.poolState = exports.PoolState.closed;
|
|
298
264
|
this.clearMinPoolSizeTimer();
|
|
299
265
|
this.processWaitQueue();
|
|
300
|
-
for (const conn of this
|
|
266
|
+
for (const conn of this.connections) {
|
|
301
267
|
this.emitAndLog(ConnectionPool.CONNECTION_CLOSED, new connection_pool_events_1.ConnectionClosedEvent(this, conn, 'poolClosed'));
|
|
302
268
|
conn.destroy();
|
|
303
269
|
}
|
|
304
|
-
this
|
|
270
|
+
this.connections.clear();
|
|
305
271
|
this.emitAndLog(ConnectionPool.CONNECTION_POOL_CLOSED, new connection_pool_events_1.ConnectionPoolClosedEvent(this));
|
|
306
272
|
}
|
|
307
273
|
/**
|
|
@@ -318,7 +284,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
318
284
|
throw new error_1.MongoMissingCredentialsError('Connection is missing credentials when asked to reauthenticate');
|
|
319
285
|
}
|
|
320
286
|
const resolvedCredentials = credentials.resolveAuthMechanism(connection.hello);
|
|
321
|
-
const provider = this
|
|
287
|
+
const provider = this.server.topology.client.s.authProviders.getOrCreateProvider(resolvedCredentials.mechanism, resolvedCredentials.mechanismProperties);
|
|
322
288
|
if (!provider) {
|
|
323
289
|
throw new error_1.MongoMissingCredentialsError(`Reauthenticate failed due to no auth provider for ${credentials.mechanism}`);
|
|
324
290
|
}
|
|
@@ -327,7 +293,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
327
293
|
}
|
|
328
294
|
/** Clear the min pool size timer */
|
|
329
295
|
clearMinPoolSizeTimer() {
|
|
330
|
-
const minPoolSizeTimer = this
|
|
296
|
+
const minPoolSizeTimer = this.minPoolSizeTimer;
|
|
331
297
|
if (minPoolSizeTimer) {
|
|
332
298
|
(0, timers_1.clearTimeout)(minPoolSizeTimer);
|
|
333
299
|
}
|
|
@@ -344,7 +310,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
344
310
|
const generation = this.serviceGenerations.get(sid);
|
|
345
311
|
return connection.generation !== generation;
|
|
346
312
|
}
|
|
347
|
-
return connection.generation !== this
|
|
313
|
+
return connection.generation !== this.generation;
|
|
348
314
|
}
|
|
349
315
|
connectionIsIdle(connection) {
|
|
350
316
|
return !!(this.options.maxIdleTimeMS && connection.idleTime > this.options.maxIdleTimeMS);
|
|
@@ -367,20 +333,20 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
367
333
|
createConnection(callback) {
|
|
368
334
|
const connectOptions = {
|
|
369
335
|
...this.options,
|
|
370
|
-
id: this
|
|
371
|
-
generation: this
|
|
372
|
-
cancellationToken: this
|
|
336
|
+
id: this.connectionCounter.next().value,
|
|
337
|
+
generation: this.generation,
|
|
338
|
+
cancellationToken: this.cancellationToken,
|
|
373
339
|
mongoLogger: this.mongoLogger,
|
|
374
|
-
authProviders: this
|
|
340
|
+
authProviders: this.server.topology.client.s.authProviders
|
|
375
341
|
};
|
|
376
|
-
this
|
|
342
|
+
this.pending++;
|
|
377
343
|
// This is our version of a "virtual" no-I/O connection as the spec requires
|
|
378
344
|
const connectionCreatedTime = (0, utils_1.now)();
|
|
379
345
|
this.emitAndLog(ConnectionPool.CONNECTION_CREATED, new connection_pool_events_1.ConnectionCreatedEvent(this, { id: connectOptions.id }));
|
|
380
346
|
(0, connect_1.connect)(connectOptions).then(connection => {
|
|
381
347
|
// The pool might have closed since we started trying to create a connection
|
|
382
|
-
if (this
|
|
383
|
-
this
|
|
348
|
+
if (this.poolState !== exports.PoolState.ready) {
|
|
349
|
+
this.pending--;
|
|
384
350
|
connection.destroy();
|
|
385
351
|
callback(this.closed ? new errors_1.PoolClosedError(this) : new errors_1.PoolClearedError(this));
|
|
386
352
|
return;
|
|
@@ -390,8 +356,8 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
390
356
|
connection.on(event, (e) => this.emit(event, e));
|
|
391
357
|
}
|
|
392
358
|
if (this.loadBalanced) {
|
|
393
|
-
connection.on(connection_1.Connection.PINNED, pinType => this
|
|
394
|
-
connection.on(connection_1.Connection.UNPINNED, pinType => this
|
|
359
|
+
connection.on(connection_1.Connection.PINNED, pinType => this.metrics.markPinned(pinType));
|
|
360
|
+
connection.on(connection_1.Connection.UNPINNED, pinType => this.metrics.markUnpinned(pinType));
|
|
395
361
|
const serviceId = connection.serviceId;
|
|
396
362
|
if (serviceId) {
|
|
397
363
|
let generation;
|
|
@@ -407,11 +373,11 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
407
373
|
}
|
|
408
374
|
connection.markAvailable();
|
|
409
375
|
this.emitAndLog(ConnectionPool.CONNECTION_READY, new connection_pool_events_1.ConnectionReadyEvent(this, connection, connectionCreatedTime));
|
|
410
|
-
this
|
|
376
|
+
this.pending--;
|
|
411
377
|
callback(undefined, connection);
|
|
412
378
|
}, error => {
|
|
413
|
-
this
|
|
414
|
-
this
|
|
379
|
+
this.pending--;
|
|
380
|
+
this.server.handleError(error);
|
|
415
381
|
this.emitAndLog(ConnectionPool.CONNECTION_CLOSED, new connection_pool_events_1.ConnectionClosedEvent(this, { id: connectOptions.id, serviceId: undefined }, 'error',
|
|
416
382
|
// TODO(NODE-5192): Remove this cast
|
|
417
383
|
error));
|
|
@@ -423,10 +389,10 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
423
389
|
}
|
|
424
390
|
ensureMinPoolSize() {
|
|
425
391
|
const minPoolSize = this.options.minPoolSize;
|
|
426
|
-
if (this
|
|
392
|
+
if (this.poolState !== exports.PoolState.ready || minPoolSize === 0) {
|
|
427
393
|
return;
|
|
428
394
|
}
|
|
429
|
-
this
|
|
395
|
+
this.connections.prune(connection => this.destroyConnectionIfPerished(connection));
|
|
430
396
|
if (this.totalConnectionCount < minPoolSize &&
|
|
431
397
|
this.pendingConnectionCount < this.options.maxConnecting) {
|
|
432
398
|
// NOTE: ensureMinPoolSize should not try to get all the pending
|
|
@@ -434,54 +400,54 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
434
400
|
// the connection to a checkout request
|
|
435
401
|
this.createConnection((err, connection) => {
|
|
436
402
|
if (!err && connection) {
|
|
437
|
-
this
|
|
403
|
+
this.connections.push(connection);
|
|
438
404
|
process.nextTick(() => this.processWaitQueue());
|
|
439
405
|
}
|
|
440
|
-
if (this
|
|
441
|
-
(0, timers_1.clearTimeout)(this
|
|
442
|
-
this
|
|
406
|
+
if (this.poolState === exports.PoolState.ready) {
|
|
407
|
+
(0, timers_1.clearTimeout)(this.minPoolSizeTimer);
|
|
408
|
+
this.minPoolSizeTimer = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
|
|
443
409
|
}
|
|
444
410
|
});
|
|
445
411
|
}
|
|
446
412
|
else {
|
|
447
|
-
(0, timers_1.clearTimeout)(this
|
|
448
|
-
this
|
|
413
|
+
(0, timers_1.clearTimeout)(this.minPoolSizeTimer);
|
|
414
|
+
this.minPoolSizeTimer = (0, timers_1.setTimeout)(() => this.ensureMinPoolSize(), this.options.minPoolSizeCheckFrequencyMS);
|
|
449
415
|
}
|
|
450
416
|
}
|
|
451
417
|
processWaitQueue() {
|
|
452
|
-
if (this
|
|
418
|
+
if (this.processingWaitQueue) {
|
|
453
419
|
return;
|
|
454
420
|
}
|
|
455
|
-
this
|
|
421
|
+
this.processingWaitQueue = true;
|
|
456
422
|
while (this.waitQueueSize) {
|
|
457
|
-
const waitQueueMember = this
|
|
423
|
+
const waitQueueMember = this.waitQueue.first();
|
|
458
424
|
if (!waitQueueMember) {
|
|
459
|
-
this
|
|
425
|
+
this.waitQueue.shift();
|
|
460
426
|
continue;
|
|
461
427
|
}
|
|
462
|
-
if (waitQueueMember
|
|
463
|
-
this
|
|
428
|
+
if (waitQueueMember.cancelled) {
|
|
429
|
+
this.waitQueue.shift();
|
|
464
430
|
continue;
|
|
465
431
|
}
|
|
466
|
-
if (this
|
|
432
|
+
if (this.poolState !== exports.PoolState.ready) {
|
|
467
433
|
const reason = this.closed ? 'poolClosed' : 'connectionError';
|
|
468
434
|
const error = this.closed ? new errors_1.PoolClosedError(this) : new errors_1.PoolClearedError(this);
|
|
469
435
|
this.emitAndLog(ConnectionPool.CONNECTION_CHECK_OUT_FAILED, new connection_pool_events_1.ConnectionCheckOutFailedEvent(this, reason, waitQueueMember.checkoutTime, error));
|
|
470
|
-
this
|
|
436
|
+
this.waitQueue.shift();
|
|
471
437
|
waitQueueMember.reject(error);
|
|
472
438
|
continue;
|
|
473
439
|
}
|
|
474
440
|
if (!this.availableConnectionCount) {
|
|
475
441
|
break;
|
|
476
442
|
}
|
|
477
|
-
const connection = this
|
|
443
|
+
const connection = this.connections.shift();
|
|
478
444
|
if (!connection) {
|
|
479
445
|
break;
|
|
480
446
|
}
|
|
481
447
|
if (!this.destroyConnectionIfPerished(connection)) {
|
|
482
|
-
this
|
|
448
|
+
this.checkedOut.add(connection);
|
|
483
449
|
this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_OUT, new connection_pool_events_1.ConnectionCheckedOutEvent(this, connection, waitQueueMember.checkoutTime));
|
|
484
|
-
this
|
|
450
|
+
this.waitQueue.shift();
|
|
485
451
|
waitQueueMember.resolve(connection);
|
|
486
452
|
}
|
|
487
453
|
}
|
|
@@ -489,14 +455,14 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
489
455
|
while (this.waitQueueSize > 0 &&
|
|
490
456
|
this.pendingConnectionCount < maxConnecting &&
|
|
491
457
|
(maxPoolSize === 0 || this.totalConnectionCount < maxPoolSize)) {
|
|
492
|
-
const waitQueueMember = this
|
|
493
|
-
if (!waitQueueMember || waitQueueMember
|
|
458
|
+
const waitQueueMember = this.waitQueue.shift();
|
|
459
|
+
if (!waitQueueMember || waitQueueMember.cancelled) {
|
|
494
460
|
continue;
|
|
495
461
|
}
|
|
496
462
|
this.createConnection((err, connection) => {
|
|
497
|
-
if (waitQueueMember
|
|
463
|
+
if (waitQueueMember.cancelled) {
|
|
498
464
|
if (!err && connection) {
|
|
499
|
-
this
|
|
465
|
+
this.connections.push(connection);
|
|
500
466
|
}
|
|
501
467
|
}
|
|
502
468
|
else {
|
|
@@ -507,7 +473,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
507
473
|
waitQueueMember.reject(err);
|
|
508
474
|
}
|
|
509
475
|
else if (connection) {
|
|
510
|
-
this
|
|
476
|
+
this.checkedOut.add(connection);
|
|
511
477
|
this.emitAndLog(ConnectionPool.CONNECTION_CHECKED_OUT, new connection_pool_events_1.ConnectionCheckedOutEvent(this, connection, waitQueueMember.checkoutTime));
|
|
512
478
|
waitQueueMember.resolve(connection);
|
|
513
479
|
}
|
|
@@ -515,7 +481,7 @@ class ConnectionPool extends mongo_types_1.TypedEventEmitter {
|
|
|
515
481
|
process.nextTick(() => this.processWaitQueue());
|
|
516
482
|
});
|
|
517
483
|
}
|
|
518
|
-
this
|
|
484
|
+
this.processingWaitQueue = false;
|
|
519
485
|
}
|
|
520
486
|
}
|
|
521
487
|
exports.ConnectionPool = ConnectionPool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection_pool.js","sourceRoot":"","sources":["../../src/cmap/connection_pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connection_pool.js","sourceRoot":"","sources":["../../src/cmap/connection_pool.ts"],"names":[],"mappings":"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"}
|
package/lib/encrypter.js
CHANGED
|
@@ -8,15 +8,13 @@ const deps_1 = require("./deps");
|
|
|
8
8
|
const error_1 = require("./error");
|
|
9
9
|
const mongo_client_1 = require("./mongo_client");
|
|
10
10
|
/** @internal */
|
|
11
|
-
const kInternalClient = Symbol('internalClient');
|
|
12
|
-
/** @internal */
|
|
13
11
|
class Encrypter {
|
|
14
12
|
constructor(client, uri, options) {
|
|
15
13
|
if (typeof options.autoEncryption !== 'object') {
|
|
16
14
|
throw new error_1.MongoInvalidArgumentError('Option "autoEncryption" must be specified');
|
|
17
15
|
}
|
|
18
16
|
// initialize to null, if we call getInternalClient, we may set this it is important to not overwrite those function calls.
|
|
19
|
-
this
|
|
17
|
+
this.internalClient = null;
|
|
20
18
|
this.bypassAutoEncryption = !!options.autoEncryption.bypassAutoEncryption;
|
|
21
19
|
this.needsConnecting = false;
|
|
22
20
|
if (options.maxPoolSize === 0 && options.autoEncryption.keyVaultClient == null) {
|
|
@@ -45,8 +43,7 @@ class Encrypter {
|
|
|
45
43
|
this.autoEncrypter = new auto_encrypter_1.AutoEncrypter(client, options.autoEncryption);
|
|
46
44
|
}
|
|
47
45
|
getInternalClient(client, uri, options) {
|
|
48
|
-
|
|
49
|
-
let internalClient = this[kInternalClient];
|
|
46
|
+
let internalClient = this.internalClient;
|
|
50
47
|
if (internalClient == null) {
|
|
51
48
|
const clonedOptions = {};
|
|
52
49
|
for (const key of [
|
|
@@ -59,7 +56,7 @@ class Encrypter {
|
|
|
59
56
|
}
|
|
60
57
|
clonedOptions.minPoolSize = 0;
|
|
61
58
|
internalClient = new mongo_client_1.MongoClient(uri, clonedOptions);
|
|
62
|
-
this
|
|
59
|
+
this.internalClient = internalClient;
|
|
63
60
|
for (const eventName of constants_1.MONGO_CLIENT_EVENTS) {
|
|
64
61
|
for (const listener of client.listeners(eventName)) {
|
|
65
62
|
internalClient.on(eventName, listener);
|
|
@@ -73,8 +70,7 @@ class Encrypter {
|
|
|
73
70
|
return internalClient;
|
|
74
71
|
}
|
|
75
72
|
async connectInternalClient() {
|
|
76
|
-
|
|
77
|
-
const internalClient = this[kInternalClient];
|
|
73
|
+
const internalClient = this.internalClient;
|
|
78
74
|
if (this.needsConnecting && internalClient != null) {
|
|
79
75
|
this.needsConnecting = false;
|
|
80
76
|
await internalClient.connect();
|
|
@@ -91,7 +87,7 @@ class Encrypter {
|
|
|
91
87
|
catch (autoEncrypterError) {
|
|
92
88
|
error = autoEncrypterError;
|
|
93
89
|
}
|
|
94
|
-
const internalClient = this
|
|
90
|
+
const internalClient = this.internalClient;
|
|
95
91
|
if (internalClient != null && client !== internalClient) {
|
|
96
92
|
return await internalClient.close(force);
|
|
97
93
|
}
|
package/lib/encrypter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypter.js","sourceRoot":"","sources":["../src/encrypter.ts"],"names":[],"mappings":";;;AAAA,+BAAmC;AAEnC,4EAAoG;AACpG,2CAAkD;AAClD,iCAAoD;AACpD,mCAAiF;AACjF,iDAAsE;
|
|
1
|
+
{"version":3,"file":"encrypter.js","sourceRoot":"","sources":["../src/encrypter.ts"],"names":[],"mappings":"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"}
|