From 4b25a63d27500cb7c251c2e3d3497bf7fe660678 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 8 Jul 2021 15:06:50 +0200 Subject: [PATCH 1/5] feat: add minimum changes for LB support Add a driver version that supports LB mode, and a hack to work around existing known issues. --- package-lock.json | 17 ++++++++--------- package.json | 2 +- .../service-provider-core/package-lock.json | 5 ++--- packages/service-provider-core/package.json | 2 +- .../service-provider-server/package-lock.json | 11 +++++------ packages/service-provider-server/package.json | 2 +- .../src/cli-service-provider.ts | 9 +++++++++ 7 files changed, 27 insertions(+), 21 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7c1275854e..9948a543e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8281,9 +8281,9 @@ } }, "bson": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.0.tgz", - "integrity": "sha512-uX9Zqzv2DpFXJgQOWKD8nbf0dTQV57WM8eiXDXVWeJYgiu/zIRz61OGLJKwbfSEEjZJ+AgS+7TUT7Y8EloTaqQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", + "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", "dev": true, "requires": { "buffer": "^5.6.0" @@ -18173,9 +18173,8 @@ } }, "mongodb": { - "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.0.0-beta.6.tgz", - "integrity": "sha512-gV6IbnGWgHBiDgAaWCNSMymP6jIMk/zvCjUETPcFa1sUgar2XUpUXpCOdV1G7R7VrRBtpNRStbHIVx5MkbPFCA==", + "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "dev": true, "requires": { "bson": "^4.4.0", @@ -18185,9 +18184,9 @@ } }, "mongodb-connection-string-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-1.0.0.tgz", - "integrity": "sha512-s2kSyqM/PgvLHKzc67eK/syC4n2eXu4Q2XWA4gJOgMvOk1/bsZ8jW04EBFabfNHgw66gYSovx9F623eKEkpfGA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-1.0.1.tgz", + "integrity": "sha512-sXi8w9nwbMrErWbOK+8nofHz531rboasDbYAMS+sQ+W+2YnHN980RlMr+t5SDL6uKEU/kw/wG6jcjCTLiJltoA==", "dev": true, "requires": { "whatwg-url": "^8.4.0" diff --git a/package.json b/package.json index 82e2f0173f..399cf8118b 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "karma-typescript": "^5.5.1", "lerna": "^4.0.0", "mocha": "^7.1.2", - "mongodb": "4.0.0-beta.6", + "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "mongodb-download-url": "^1.0.1", "mongodb-js-precommit": "^2.0.0", "nock": "^13.0.11", diff --git a/packages/service-provider-core/package-lock.json b/packages/service-provider-core/package-lock.json index 828af75663..bc90efdd0c 100644 --- a/packages/service-provider-core/package-lock.json +++ b/packages/service-provider-core/package-lock.json @@ -240,9 +240,8 @@ "optional": true }, "mongodb": { - "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.0.0-beta.6.tgz", - "integrity": "sha512-gV6IbnGWgHBiDgAaWCNSMymP6jIMk/zvCjUETPcFa1sUgar2XUpUXpCOdV1G7R7VrRBtpNRStbHIVx5MkbPFCA==", + "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-core/package.json b/packages/service-provider-core/package.json index 9f3a704140..c1892cb3d4 100644 --- a/packages/service-provider-core/package.json +++ b/packages/service-provider-core/package.json @@ -30,7 +30,7 @@ "@mongosh/errors": "0.0.0-dev.0", "@mongosh/i18n": "0.0.0-dev.0", "bson": "^4.4.1", - "mongodb": "4.0.0-beta.6", + "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "mongodb-build-info": "^1.2.0", "mongodb-connection-string-url": "^1.0.0" }, diff --git a/packages/service-provider-server/package-lock.json b/packages/service-provider-server/package-lock.json index 6620f577f2..e7098dc45e 100644 --- a/packages/service-provider-server/package-lock.json +++ b/packages/service-provider-server/package-lock.json @@ -70,9 +70,9 @@ } }, "bson": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.0.tgz", - "integrity": "sha512-uX9Zqzv2DpFXJgQOWKD8nbf0dTQV57WM8eiXDXVWeJYgiu/zIRz61OGLJKwbfSEEjZJ+AgS+7TUT7Y8EloTaqQ==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/bson/-/bson-4.4.1.tgz", + "integrity": "sha512-Uu4OCZa0jouQJCKOk1EmmyqtdWAP5HVLru4lQxTwzJzxT+sJ13lVpEZU/MATDxtHiekWMAL84oQY3Xn1LpJVSg==", "requires": { "buffer": "^5.6.0" } @@ -417,9 +417,8 @@ "optional": true }, "mongodb": { - "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.0.0-beta.6.tgz", - "integrity": "sha512-gV6IbnGWgHBiDgAaWCNSMymP6jIMk/zvCjUETPcFa1sUgar2XUpUXpCOdV1G7R7VrRBtpNRStbHIVx5MkbPFCA==", + "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-server/package.json b/packages/service-provider-server/package.json index a1115ec3b4..45e4dcc7c9 100644 --- a/packages/service-provider-server/package.json +++ b/packages/service-provider-server/package.json @@ -42,7 +42,7 @@ "@mongosh/service-provider-core": "0.0.0-dev.0", "@mongosh/types": "0.0.0-dev.0", "@types/sinon-chai": "^3.2.3", - "mongodb": "4.0.0-beta.6", + "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", "saslprep": "mongodb-js/saslprep#v1.0.4", "mongodb-connection-string-url": "^1.0.0" }, diff --git a/packages/service-provider-server/src/cli-service-provider.ts b/packages/service-provider-server/src/cli-service-provider.ts index 7c9b871986..eb7607a839 100644 --- a/packages/service-provider-server/src/cli-service-provider.ts +++ b/packages/service-provider-server/src/cli-service-provider.ts @@ -284,6 +284,15 @@ export async function connectMongoClient(uri: string, clientOptions: MongoClient } } uri = await resolveMongodbSrv(uri, bus); + { + // Hack for Load Balancer support until the driver side is finished: + const cs = new ConnectionString(uri); + if (cs.searchParams.get('loadBalanced') === 'true' && + !cs.searchParams.has('maxPoolSize')) { + cs.searchParams.set('maxPoolSize', '1'); + uri = cs.href; + } + } const client = new MClient(uri, clientOptions); await connectWithFailFast(client, bus); return client; From d9dd93aa61d6a573b5801e05ff79536c7f5b23b3 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 8 Jul 2021 16:00:17 +0200 Subject: [PATCH 2/5] fixup --- packages/service-provider-server/src/cli-service-provider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/service-provider-server/src/cli-service-provider.ts b/packages/service-provider-server/src/cli-service-provider.ts index eb7607a839..20bfa787d4 100644 --- a/packages/service-provider-server/src/cli-service-provider.ts +++ b/packages/service-provider-server/src/cli-service-provider.ts @@ -284,7 +284,7 @@ export async function connectMongoClient(uri: string, clientOptions: MongoClient } } uri = await resolveMongodbSrv(uri, bus); - { + if (uri.startsWith('mongodb://') || uri.startsWith('mongodb+srv://')) { // Hack for Load Balancer support until the driver side is finished: const cs = new ConnectionString(uri); if (cs.searchParams.get('loadBalanced') === 'true' && From 1803505251668e4405b926eb4efdb5061d539cb9 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 8 Jul 2021 21:26:05 +0200 Subject: [PATCH 3/5] fixup: disable rhel 8 s390x pkg smoke test --- .evergreen.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/.evergreen.yml b/.evergreen.yml index 886e617dc7..2d119c8329 100644 --- a/.evergreen.yml +++ b/.evergreen.yml @@ -1544,9 +1544,8 @@ buildvariants: run_on: rhel72-zseries-small tasks: - name: e2e_tests_linux_s390x -# TODO: reenable once /opt/mongodbtoolchain/v3 contains executables that -# are actually compatible with the OS/architecture: -# https://jira.mongodb.org/browse/BUILD-13551 +# TODO: Re-enable once RHEL 8.0 distros are ready for use +# (see also pkg_smoke_tests_rhel80_s390x) # - name: e2e_rhel80_s390x # display_name: "RHEL 8.0 s390x (E2E Tests)" # run_on: rhel80-zseries-small @@ -1643,11 +1642,11 @@ buildvariants: run_on: rhel72-zseries-small tasks: - name: pkg_test_s390x_rpm - - name: pkg_smoke_tests_rhel80_s390x - display_name: "package smoke tests (RHEL 8.0 s390x)" - run_on: rhel80-zseries-small - tasks: - - name: pkg_test_s390x_rpm + #- name: pkg_smoke_tests_rhel80_s390x + # display_name: "package smoke tests (RHEL 8.0 s390x)" + # run_on: rhel80-zseries-small + # tasks: + # - name: pkg_test_s390x_rpm - name: pkg_smoke_tests_rhel81_ppc64le display_name: "package smoke tests (RHEL 8.1 ppc64le)" run_on: rhel81-power8-small From d52d0e366c1f53d7e11b03f3ff3b5bf7c459958c Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 8 Jul 2021 21:27:14 +0200 Subject: [PATCH 4/5] fixup: bump PR version to state at 9pm CEST --- package-lock.json | 4 ++-- package.json | 2 +- packages/service-provider-core/package-lock.json | 4 ++-- packages/service-provider-core/package.json | 2 +- packages/service-provider-server/package-lock.json | 4 ++-- packages/service-provider-server/package.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9948a543e6..326dd4ff3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18173,8 +18173,8 @@ } }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", - "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "dev": true, "requires": { "bson": "^4.4.0", diff --git a/package.json b/package.json index 399cf8118b..98bae0072b 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "karma-typescript": "^5.5.1", "lerna": "^4.0.0", "mocha": "^7.1.2", - "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "mongodb-download-url": "^1.0.1", "mongodb-js-precommit": "^2.0.0", "nock": "^13.0.11", diff --git a/packages/service-provider-core/package-lock.json b/packages/service-provider-core/package-lock.json index bc90efdd0c..8495ded0f1 100644 --- a/packages/service-provider-core/package-lock.json +++ b/packages/service-provider-core/package-lock.json @@ -240,8 +240,8 @@ "optional": true }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", - "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-core/package.json b/packages/service-provider-core/package.json index c1892cb3d4..202d00ad81 100644 --- a/packages/service-provider-core/package.json +++ b/packages/service-provider-core/package.json @@ -30,7 +30,7 @@ "@mongosh/errors": "0.0.0-dev.0", "@mongosh/i18n": "0.0.0-dev.0", "bson": "^4.4.1", - "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "mongodb-build-info": "^1.2.0", "mongodb-connection-string-url": "^1.0.0" }, diff --git a/packages/service-provider-server/package-lock.json b/packages/service-provider-server/package-lock.json index e7098dc45e..d1ad791fb5 100644 --- a/packages/service-provider-server/package-lock.json +++ b/packages/service-provider-server/package-lock.json @@ -417,8 +417,8 @@ "optional": true }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", - "from": "github:addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-server/package.json b/packages/service-provider-server/package.json index 45e4dcc7c9..1c2203f266 100644 --- a/packages/service-provider-server/package.json +++ b/packages/service-provider-server/package.json @@ -42,7 +42,7 @@ "@mongosh/service-provider-core": "0.0.0-dev.0", "@mongosh/types": "0.0.0-dev.0", "@types/sinon-chai": "^3.2.3", - "mongodb": "addaleax/node-mongodb-native#661395840dbd98b57ecb29b416c6fa931efdf981", + "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", "saslprep": "mongodb-js/saslprep#v1.0.4", "mongodb-connection-string-url": "^1.0.0" }, From 485e2a0f90a51341da54395716bf6496bd5234a0 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 8 Jul 2021 22:46:31 +0200 Subject: [PATCH 5/5] fixup: bump PR version to state at 10.45pm CEST --- package-lock.json | 4 ++-- package.json | 2 +- packages/service-provider-core/package-lock.json | 4 ++-- packages/service-provider-core/package.json | 2 +- packages/service-provider-server/package-lock.json | 4 ++-- packages/service-provider-server/package.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 326dd4ff3a..e0ccee8bbe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18173,8 +18173,8 @@ } }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", - "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "version": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", + "from": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "dev": true, "requires": { "bson": "^4.4.0", diff --git a/package.json b/package.json index 98bae0072b..9d7a59de24 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "karma-typescript": "^5.5.1", "lerna": "^4.0.0", "mocha": "^7.1.2", - "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "mongodb": "addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "mongodb-download-url": "^1.0.1", "mongodb-js-precommit": "^2.0.0", "nock": "^13.0.11", diff --git a/packages/service-provider-core/package-lock.json b/packages/service-provider-core/package-lock.json index 8495ded0f1..c55efaaebb 100644 --- a/packages/service-provider-core/package-lock.json +++ b/packages/service-provider-core/package-lock.json @@ -240,8 +240,8 @@ "optional": true }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", - "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "version": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", + "from": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-core/package.json b/packages/service-provider-core/package.json index 202d00ad81..87e8b49bde 100644 --- a/packages/service-provider-core/package.json +++ b/packages/service-provider-core/package.json @@ -30,7 +30,7 @@ "@mongosh/errors": "0.0.0-dev.0", "@mongosh/i18n": "0.0.0-dev.0", "bson": "^4.4.1", - "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "mongodb": "addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "mongodb-build-info": "^1.2.0", "mongodb-connection-string-url": "^1.0.0" }, diff --git a/packages/service-provider-server/package-lock.json b/packages/service-provider-server/package-lock.json index d1ad791fb5..67b42fafcf 100644 --- a/packages/service-provider-server/package-lock.json +++ b/packages/service-provider-server/package-lock.json @@ -417,8 +417,8 @@ "optional": true }, "mongodb": { - "version": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", - "from": "github:addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "version": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", + "from": "github:addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "requires": { "bson": "^4.4.0", "denque": "^1.5.0", diff --git a/packages/service-provider-server/package.json b/packages/service-provider-server/package.json index 1c2203f266..7ebb461103 100644 --- a/packages/service-provider-server/package.json +++ b/packages/service-provider-server/package.json @@ -42,7 +42,7 @@ "@mongosh/service-provider-core": "0.0.0-dev.0", "@mongosh/types": "0.0.0-dev.0", "@types/sinon-chai": "^3.2.3", - "mongodb": "addaleax/node-mongodb-native#279a119f89c0291b6a5ed548d9f563ae5af8296f", + "mongodb": "addaleax/node-mongodb-native#71d4c39e5c858f49d10e840df626eca4da653e28", "saslprep": "mongodb-js/saslprep#v1.0.4", "mongodb-connection-string-url": "^1.0.0" },