Skip to content

Commit d2a51d8

Browse files
committed
fix: fle
1 parent 9d7894b commit d2a51d8

File tree

4 files changed

+17
-13
lines changed

4 files changed

+17
-13
lines changed

.evergreen/run-kms-servers.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ cd ${DRIVERS_TOOLS}/.evergreen/csfle
22
. ./activate_venv.sh
33
# by default it always runs on port 5698
44
./kmstlsvenv/bin/python3 -u kms_kmip_server.py &
5-
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/expired.pem --port 8000 &
6-
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/wrong-host.pem --port 8001 &
7-
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 8002 --require_client_cert &
5+
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/expired.pem --port 9000 &
6+
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/wrong-host.pem --port 9001 &
7+
./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 9002 --require_client_cert &

src/error.ts

+4
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,10 @@ const RETRYABLE_WRITE_ERROR_CODES = new Set<number>([
752752
]);
753753

754754
export function isRetryableWriteError(error: MongoError, maxWireVersion: number): boolean {
755+
if (!(error instanceof MongoError)) {
756+
return false;
757+
}
758+
755759
if (maxWireVersion >= MONGODB_WIRE_VERSION.RESUMABLE_INITIAL_SYNC) {
756760
// After 4.4 the error label is the only source of truth for retry writes
757761
return error.hasErrorLabel(MONGODB_ERROR_LABELS.RetryableWriteError);

test/integration/client-side-encryption/client_side_encryption.prose.test.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,12 @@ describe('Client Side Encryption Prose Tests', metadata, function () {
9898
};
9999
clientNoTlsOptions = {
100100
keyVaultNamespace,
101-
kmsProviders: getKmsProviders(null, null, '127.0.0.1:8002', '127.0.0.1:8002'),
101+
kmsProviders: getKmsProviders(null, null, '127.0.0.1:9002', '127.0.0.1:9002'),
102102
tlsOptions: tlsCaOptions
103103
};
104104
clientWithTlsOptions = {
105105
keyVaultNamespace,
106-
kmsProviders: getKmsProviders(null, null, '127.0.0.1:8002', '127.0.0.1:8002'),
106+
kmsProviders: getKmsProviders(null, null, '127.0.0.1:9002', '127.0.0.1:9002'),
107107
tlsOptions: {
108108
aws: {
109109
tlsCAFile: process.env.KMIP_TLS_CA_FILE,
@@ -125,12 +125,12 @@ describe('Client Side Encryption Prose Tests', metadata, function () {
125125
};
126126
clientWithTlsExpiredOptions = {
127127
keyVaultNamespace,
128-
kmsProviders: getKmsProviders(null, '127.0.0.1:8000', '127.0.0.1:8000', '127.0.0.1:8000'),
128+
kmsProviders: getKmsProviders(null, '127.0.0.1:9000', '127.0.0.1:9000', '127.0.0.1:9000'),
129129
tlsOptions: tlsCaOptions
130130
};
131131
clientWithInvalidHostnameOptions = {
132132
keyVaultNamespace,
133-
kmsProviders: getKmsProviders(null, '127.0.0.1:8001', '127.0.0.1:8001', '127.0.0.1:8001'),
133+
kmsProviders: getKmsProviders(null, '127.0.0.1:9001', '127.0.0.1:9001', '127.0.0.1:9001'),
134134
tlsOptions: tlsCaOptions
135135
};
136136
clientNoTls = this.configuration.newClient({}, { autoEncryption: clientNoTlsOptions });
@@ -167,10 +167,10 @@ describe('Client Side Encryption Prose Tests', metadata, function () {
167167
const masterKey = {
168168
region: 'us-east-1',
169169
key: 'arn:aws:kms:us-east-1:579766882180:key/89fcc2c4-08b0-4bd9-9f25-e30687b580d0',
170-
endpoint: '127.0.0.1:8002'
170+
endpoint: '127.0.0.1:9002'
171171
};
172-
const masterKeyExpired = { ...masterKey, endpoint: '127.0.0.1:8000' };
173-
const masterKeyInvalidHostname = { ...masterKey, endpoint: '127.0.0.1:8001' };
172+
const masterKeyExpired = { ...masterKey, endpoint: '127.0.0.1:9000' };
173+
const masterKeyInvalidHostname = { ...masterKey, endpoint: '127.0.0.1:9001' };
174174

175175
it('fails with various invalid tls options', metadata, async function () {
176176
try {

test/readme.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -392,9 +392,9 @@ The following steps will walk you through how to run the tests for CSFLE.
392392
1. This will install all the dependencies needed to run a python kms_kmip simulated server
393393
3. In 4 separate terminals launch the following:
394394
- `./kmstlsvenv/bin/python3 -u kms_kmip_server.py` # by default it always runs on port 5698
395-
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/expired.pem --port 8000`
396-
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/wrong-host.pem --port 8001`
397-
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 8002 --require_client_cert`
395+
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/expired.pem --port 9000`
396+
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/wrong-host.pem --port 9001`
397+
- `./kmstlsvenv/bin/python3 -u kms_http_server.py --ca_file ../x509gen/ca.pem --cert_file ../x509gen/server.pem --port 9002 --require_client_cert`
398398
4. Set the following environment variables:
399399
- `export KMIP_TLS_CA_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/ca.pem"`
400400
- `export KMIP_TLS_CERT_FILE="${DRIVERS_TOOLS}/.evergreen/x509gen/client.pem"`

0 commit comments

Comments
 (0)