@mongosh/service-provider-node-driver 3.10.2 → 3.14.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/node-driver-service-provider.d.ts +1 -1
- package/lib/node-driver-service-provider.js +6 -10
- package/lib/node-driver-service-provider.js.map +1 -1
- package/package.json +9 -9
- package/src/node-driver-provider.integration.spec.ts +4 -4
- package/src/node-driver-service-provider.spec.ts +1 -0
- package/src/node-driver-service-provider.ts +15 -11
- package/lib/mongodb-patches.d.ts +0 -4
- package/lib/mongodb-patches.js +0 -17
- package/lib/mongodb-patches.js.map +0 -1
- package/src/mongodb-patches.spec.ts +0 -67
- package/src/mongodb-patches.ts +0 -25
|
@@ -48,7 +48,7 @@ export declare class NodeDriverServiceProvider extends ServiceProviderCore imple
|
|
|
48
48
|
aggregateDb(database: string, pipeline?: Document[], options?: AggregateOptions, dbOptions?: DbOptions): AggregationCursor;
|
|
49
49
|
bulkWrite(database: string, collection: string, requests: AnyBulkWriteOperation[], options?: BulkWriteOptions, dbOptions?: DbOptions): Promise<BulkWriteResult>;
|
|
50
50
|
clientBulkWrite(models: AnyClientBulkWriteModel<Document>[], options?: ClientBulkWriteOptions): Promise<ClientBulkWriteResult>;
|
|
51
|
-
close(
|
|
51
|
+
close(): Promise<void>;
|
|
52
52
|
suspend(): Promise<() => Promise<void>>;
|
|
53
53
|
count(database: string, collection: string, query?: Document, options?: CountOptions, dbOptions?: DbOptions): Promise<number>;
|
|
54
54
|
countDocuments(database: string, collection: string, filter?: Document, options?: CountDocumentsOptions, dbOptions?: DbOptions): Promise<number>;
|
|
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.NodeDriverServiceProvider = void 0;
|
|
37
37
|
const service_provider_core_1 = require("@mongosh/service-provider-core");
|
|
38
38
|
const errors_1 = require("@mongosh/errors");
|
|
39
|
-
const mongodb_patches_1 = require("./mongodb-patches");
|
|
40
39
|
const mongodb_connection_string_url_1 = require("mongodb-connection-string-url");
|
|
41
40
|
const events_1 = require("events");
|
|
42
41
|
const util_1 = require("util");
|
|
@@ -63,7 +62,9 @@ const bsonlib = () => {
|
|
|
63
62
|
BSONRegExp,
|
|
64
63
|
};
|
|
65
64
|
};
|
|
66
|
-
const DEFAULT_DRIVER_OPTIONS = Object.freeze({
|
|
65
|
+
const DEFAULT_DRIVER_OPTIONS = Object.freeze({
|
|
66
|
+
__skipPingOnConnect: false,
|
|
67
|
+
});
|
|
67
68
|
const DEFAULT_BASE_OPTIONS = Object.freeze({
|
|
68
69
|
serializeFunctions: true,
|
|
69
70
|
promoteLongs: false,
|
|
@@ -292,17 +293,12 @@ class NodeDriverServiceProvider extends service_provider_core_1.ServiceProviderC
|
|
|
292
293
|
options = { ...this.baseCmdOptions, ...options };
|
|
293
294
|
return this.mongoClient.bulkWrite(models, options);
|
|
294
295
|
}
|
|
295
|
-
async close(
|
|
296
|
+
async close() {
|
|
296
297
|
this.dbcache.set(this.mongoClient, new Map());
|
|
297
|
-
|
|
298
|
-
await (0, mongodb_patches_1.forceCloseMongoClient)(this.mongoClient);
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
await this.mongoClient.close();
|
|
302
|
-
}
|
|
298
|
+
await this.mongoClient.close();
|
|
303
299
|
}
|
|
304
300
|
async suspend() {
|
|
305
|
-
await this.close(
|
|
301
|
+
await this.close();
|
|
306
302
|
return async () => {
|
|
307
303
|
await this.resetConnectionOptions({});
|
|
308
304
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-driver-service-provider.js","sourceRoot":"","sources":["../src/node-driver-service-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node-driver-service-provider.js","sourceRoot":"","sources":["../src/node-driver-service-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongosh/service-provider-node-driver",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"description": "MongoDB Shell Server Service Provider Package",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"check": "npm run lint && npm run depcheck",
|
|
24
24
|
"depcheck": "depcheck",
|
|
25
25
|
"prettier": "prettier",
|
|
26
|
-
"reformat": "npm run prettier -- --write . && npm run eslint --fix"
|
|
26
|
+
"reformat": "npm run prettier -- --write . && npm run eslint -- --fix"
|
|
27
27
|
},
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"publishConfig": {
|
|
@@ -47,14 +47,14 @@
|
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@mongodb-js/devtools-connect": "^3.
|
|
51
|
-
"@mongodb-js/oidc-plugin": "^
|
|
52
|
-
"@mongosh/errors": "2.4.
|
|
53
|
-
"@mongosh/service-provider-core": "3.3.
|
|
54
|
-
"@mongosh/types": "3.
|
|
50
|
+
"@mongodb-js/devtools-connect": "^3.9.3",
|
|
51
|
+
"@mongodb-js/oidc-plugin": "^2.0.3",
|
|
52
|
+
"@mongosh/errors": "2.4.4",
|
|
53
|
+
"@mongosh/service-provider-core": "3.3.7",
|
|
54
|
+
"@mongosh/types": "^3.12.0",
|
|
55
55
|
"aws4": "^1.12.0",
|
|
56
56
|
"kerberos": "2.1.0",
|
|
57
|
-
"mongodb": "^6.
|
|
57
|
+
"mongodb": "^6.18.0",
|
|
58
58
|
"mongodb-client-encryption": "^6.3.0",
|
|
59
59
|
"mongodb-connection-string-url": "^3.0.1",
|
|
60
60
|
"socks": "^2.8.3"
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"eslint": "^7.25.0",
|
|
73
73
|
"prettier": "^2.8.8"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "535ab3f767e2a27c05a6be6a299e0285eebfcc9e"
|
|
76
76
|
}
|
|
@@ -55,7 +55,7 @@ describe('NodeDriverServiceProvider [integration]', function () {
|
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
afterEach(async function () {
|
|
58
|
-
await serviceProvider.close(
|
|
58
|
+
await serviceProvider.close();
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
describe('.connect', function () {
|
|
@@ -70,7 +70,7 @@ describe('NodeDriverServiceProvider [integration]', function () {
|
|
|
70
70
|
});
|
|
71
71
|
|
|
72
72
|
afterEach(async function () {
|
|
73
|
-
await instance.close(
|
|
73
|
+
await instance.close();
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it('returns a NodeDriverServiceProvider', function () {
|
|
@@ -86,7 +86,7 @@ describe('NodeDriverServiceProvider [integration]', function () {
|
|
|
86
86
|
});
|
|
87
87
|
|
|
88
88
|
afterEach(async function () {
|
|
89
|
-
await instance.close(
|
|
89
|
+
await instance.close();
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
it('returns a NodeDriverServiceProvider', function () {
|
|
@@ -823,7 +823,7 @@ describe('NodeDriverServiceProvider [integration]', function () {
|
|
|
823
823
|
let instance: NodeDriverServiceProvider;
|
|
824
824
|
|
|
825
825
|
afterEach(async function () {
|
|
826
|
-
await instance?.close(
|
|
826
|
+
await instance?.close();
|
|
827
827
|
});
|
|
828
828
|
|
|
829
829
|
it('.connect() returns a CompassServiceProvider instance', async function () {
|
|
@@ -79,7 +79,6 @@ import {
|
|
|
79
79
|
import type { DevtoolsConnectOptions } from '@mongodb-js/devtools-connect';
|
|
80
80
|
import { MongoshCommandFailed, MongoshInternalError } from '@mongosh/errors';
|
|
81
81
|
import type { MongoshBus } from '@mongosh/types';
|
|
82
|
-
import { forceCloseMongoClient } from './mongodb-patches';
|
|
83
82
|
import {
|
|
84
83
|
ConnectionString,
|
|
85
84
|
CommaAndColonSeparatedRecord,
|
|
@@ -140,7 +139,17 @@ export type DropDatabaseResult = {
|
|
|
140
139
|
/**
|
|
141
140
|
* Default driver options we always use.
|
|
142
141
|
*/
|
|
143
|
-
const DEFAULT_DRIVER_OPTIONS: MongoClientOptions = Object.freeze({
|
|
142
|
+
const DEFAULT_DRIVER_OPTIONS: MongoClientOptions = Object.freeze({
|
|
143
|
+
// In COMPASS-9455 / https://github.com/mongodb-js/devtools-shared/pull/557,
|
|
144
|
+
// we turned on the driver-internal `__skipPingOnConnect` option on by default
|
|
145
|
+
// for devtools-connect usage, turning off an extra `ping` rountrip when auth
|
|
146
|
+
// options have been provided. In mongosh, we do require this ping check,
|
|
147
|
+
// because we only print a warning rather than throwing an exception
|
|
148
|
+
// if a follow-up ping fails (e.g. in load-balanced mode). So setting this
|
|
149
|
+
// flag to `false` here restores mongosh's existing behavior, and we can
|
|
150
|
+
// revisit this in the next major version of mongosh.
|
|
151
|
+
__skipPingOnConnect: false,
|
|
152
|
+
} as MongoClientOptions);
|
|
144
153
|
|
|
145
154
|
/**
|
|
146
155
|
* Default driver method options we always use.
|
|
@@ -646,20 +655,15 @@ export class NodeDriverServiceProvider
|
|
|
646
655
|
|
|
647
656
|
/**
|
|
648
657
|
* Close the connection.
|
|
649
|
-
*
|
|
650
|
-
* @param {boolean} force - Whether to force close the connection.
|
|
651
658
|
*/
|
|
652
|
-
async close(
|
|
659
|
+
async close(): Promise<void> {
|
|
653
660
|
this.dbcache.set(this.mongoClient, new Map());
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
} else {
|
|
657
|
-
await this.mongoClient.close();
|
|
658
|
-
}
|
|
661
|
+
|
|
662
|
+
await this.mongoClient.close();
|
|
659
663
|
}
|
|
660
664
|
|
|
661
665
|
async suspend(): Promise<() => Promise<void>> {
|
|
662
|
-
await this.close(
|
|
666
|
+
await this.close();
|
|
663
667
|
return async () => {
|
|
664
668
|
await this.resetConnectionOptions({});
|
|
665
669
|
};
|
package/lib/mongodb-patches.d.ts
DELETED
package/lib/mongodb-patches.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.forceCloseMongoClient = forceCloseMongoClient;
|
|
4
|
-
function forceCloseMongoClient(client) {
|
|
5
|
-
var _a, _b, _c, _d;
|
|
6
|
-
let forceClosedConnections = 0;
|
|
7
|
-
for (const server of (_c = (_b = (_a = client.topology) === null || _a === void 0 ? void 0 : _a.s) === null || _b === void 0 ? void 0 : _b.servers) === null || _c === void 0 ? void 0 : _c.values()) {
|
|
8
|
-
const checkedOutConnections = (_d = server === null || server === void 0 ? void 0 : server.pool) === null || _d === void 0 ? void 0 : _d.checkedOutConnections;
|
|
9
|
-
for (const connection of checkedOutConnections !== null && checkedOutConnections !== void 0 ? checkedOutConnections : []) {
|
|
10
|
-
forceClosedConnections++;
|
|
11
|
-
connection.destroy({ force: true });
|
|
12
|
-
connection.onError(new Error('connection canceled by force close'));
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return client.close(true).then(() => ({ forceClosedConnections }));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=mongodb-patches.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-patches.js","sourceRoot":"","sources":["../src/mongodb-patches.ts"],"names":[],"mappings":";;AAGA,sDAqBC;AArBD,SAAgB,qBAAqB,CACnC,MAAmB;;IAEnB,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAA,MAAA,MAAC,MAAc,CAAC,QAAQ,0CAAE,CAAC,0CAAE,OAAO,0CAAE,MAAM,EAAE,EAAE,CAAC;QACpE,MAAM,qBAAqB,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,qBAAqB,CAAC;QAClE,KAAK,MAAM,UAAU,IAAI,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,EAAE,CAAC;YACrD,sBAAsB,EAAE,CAAC;YACzB,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YASpC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { MongoClient } from 'mongodb';
|
|
3
|
-
import {
|
|
4
|
-
skipIfServerVersion,
|
|
5
|
-
startSharedTestServer,
|
|
6
|
-
} from '../../../testing/integration-testing-hooks';
|
|
7
|
-
import { forceCloseMongoClient } from './mongodb-patches';
|
|
8
|
-
import { promisify } from 'util';
|
|
9
|
-
|
|
10
|
-
const delay = promisify(setTimeout);
|
|
11
|
-
|
|
12
|
-
describe('forceCloseMongoClient [integration]', function () {
|
|
13
|
-
const testServer = startSharedTestServer();
|
|
14
|
-
|
|
15
|
-
context('for server >= 4.1', function () {
|
|
16
|
-
skipIfServerVersion(testServer, '< 4.1');
|
|
17
|
-
|
|
18
|
-
it('force-closes connections that are currently checked out', async function () {
|
|
19
|
-
if (process.env.MONGOSH_TEST_FORCE_API_STRICT) {
|
|
20
|
-
return this.skip(); // $currentOp is unversioned
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
let client = await MongoClient.connect(
|
|
24
|
-
await testServer.connectionString()
|
|
25
|
-
);
|
|
26
|
-
const testDbName = `test-db-${Date.now()}`;
|
|
27
|
-
const testDb = client.db(testDbName);
|
|
28
|
-
|
|
29
|
-
await testDb.collection('ctrlc').insertOne({});
|
|
30
|
-
let err: any;
|
|
31
|
-
testDb
|
|
32
|
-
.collection('ctrlc')
|
|
33
|
-
.find({
|
|
34
|
-
$where: 'while(true) { /* loop1 */ }',
|
|
35
|
-
})
|
|
36
|
-
.toArray()
|
|
37
|
-
.catch((e) => {
|
|
38
|
-
err = e;
|
|
39
|
-
});
|
|
40
|
-
await delay(100);
|
|
41
|
-
const result = await forceCloseMongoClient(client);
|
|
42
|
-
expect(result.forceClosedConnections).to.equal(1);
|
|
43
|
-
await delay(1);
|
|
44
|
-
expect(err.message).to.include('Topology is closed');
|
|
45
|
-
|
|
46
|
-
client = await MongoClient.connect(await testServer.connectionString());
|
|
47
|
-
for (let i = 0; ; i++) {
|
|
48
|
-
const [out] = await client
|
|
49
|
-
.db('admin')
|
|
50
|
-
.aggregate([
|
|
51
|
-
{ $currentOp: {} },
|
|
52
|
-
{ $match: { 'command.find': 'ctrlc' } },
|
|
53
|
-
{ $count: 'waitingCommands' },
|
|
54
|
-
])
|
|
55
|
-
.toArray();
|
|
56
|
-
if (i === 100 || !out?.waitingCommands) {
|
|
57
|
-
expect(out?.waitingCommands || 0).to.equal(0);
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
await delay(100);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
await client.db(testDbName).dropDatabase();
|
|
64
|
-
await client.close();
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
});
|
package/src/mongodb-patches.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { MongoClient } from 'mongodb';
|
|
2
|
-
|
|
3
|
-
// Close a MongoClient + abort currently ongoing operations.
|
|
4
|
-
export function forceCloseMongoClient(
|
|
5
|
-
client: MongoClient
|
|
6
|
-
): Promise<{ forceClosedConnections: number }> {
|
|
7
|
-
let forceClosedConnections = 0;
|
|
8
|
-
for (const server of (client as any).topology?.s?.servers?.values()) {
|
|
9
|
-
const checkedOutConnections = server?.pool?.checkedOutConnections;
|
|
10
|
-
for (const connection of checkedOutConnections ?? []) {
|
|
11
|
-
forceClosedConnections++;
|
|
12
|
-
connection.destroy({ force: true });
|
|
13
|
-
// Immediately after destroying, act as if the close had happened,
|
|
14
|
-
// but *not* as an actual 'close' event on the socket itself --
|
|
15
|
-
// a close on the socket is communicated as a network error, which
|
|
16
|
-
// is considered an retryable error by operations which are currently
|
|
17
|
-
// running on this connection, but the whole point here is that these
|
|
18
|
-
// operations should *not* be retried. So, we just act as if something
|
|
19
|
-
// had happened that interrupts all ongoing operations and also is
|
|
20
|
-
// supposed to destroy the connection (which is a no-op at this point).
|
|
21
|
-
connection.onError(new Error('connection canceled by force close'));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return client.close(true).then(() => ({ forceClosedConnections }));
|
|
25
|
-
}
|