Skip to content

Commit 56100d6

Browse files
RUBY-2523 Client Side Operations Timeout (#2882)
1 parent c7b5736 commit 56100d6

File tree

234 files changed

+23963
-2093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

234 files changed

+23963
-2093
lines changed

.evergreen/aws_lambda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.mod/drivers-evergreen-tools/.evergreen/aws_lambda

.evergreen/config.yml

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,25 @@ functions:
168168
169169
EOT
170170
171+
"run CSOT tests":
172+
- command: shell.exec
173+
type: test
174+
params:
175+
shell: bash
176+
working_dir: "src"
177+
script: |
178+
${PREPARE_SHELL}
179+
# Needed for generating temporary aws credentials.
180+
if [ -n "${FLE}" ];
181+
then
182+
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
183+
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
184+
export AWS_DEFAULT_REGION="${fle_aws_region}"
185+
fi
186+
export CSOT_SPEC_TESTS=1
187+
TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb" \
188+
.evergreen/run-tests.sh
189+
171190
"export FLE credentials":
172191
- command: shell.exec
173192
type: test
@@ -748,6 +767,9 @@ tasks:
748767
- name: "test-kerberos"
749768
commands:
750769
- func: "run Kerberos unit tests"
770+
- name: "test-csot"
771+
commands:
772+
- func: "run CSOT tests"
751773
- name: "test-fle"
752774
commands:
753775
- func: "export FLE credentials"
@@ -863,6 +885,7 @@ tasks:
863885
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
864886
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
865887
LAMBDA_STACK_NAME: "dbx-ruby-lambda"
888+
CLUSTER_PREFIX: "dbx-ruby-lambda"
866889
RVM_RUBY: ruby-3.2
867890
MONGODB_URI: ${MONGODB_URI}
868891
axes:
@@ -941,6 +964,10 @@ axes:
941964
display_name: Replica Set
942965
variables:
943966
TOPOLOGY: replica-set
967+
- id: "replica-set-single-node"
968+
display_name: Replica Set (Single Node)
969+
variables:
970+
TOPOLOGY: replica-set-single-node
944971
- id: "sharded-cluster"
945972
display_name: Sharded
946973
variables:
@@ -1373,6 +1400,16 @@ buildvariants:
13731400
tasks:
13741401
- name: "test-mlaunch"
13751402

1403+
- matrix_name: CSOT
1404+
matrix_spec:
1405+
ruby: "ruby-3.2"
1406+
mongodb-version: "7.0"
1407+
topology: replica-set-single-node
1408+
os: rhel8
1409+
display_name: "CSOT - ${mongodb-version}"
1410+
tasks:
1411+
- name: test-csot
1412+
13761413
- matrix_name: "no-retry-reads"
13771414
matrix_spec:
13781415
retry-reads: no-retry-reads
@@ -1411,7 +1448,7 @@ buildvariants:
14111448
lint: on
14121449
ruby: "ruby-3.2"
14131450
mongodb-version: "7.0"
1414-
topology: '*'
1451+
topology: ["standalone", "replica-set", "sharded-cluster"]
14151452
os: rhel8
14161453
display_name: "${mongodb-version} ${topology} ${lint} ${ruby}"
14171454
tasks:
@@ -1840,11 +1877,9 @@ buildvariants:
18401877

18411878
- matrix_name: "serverless"
18421879
matrix_spec:
1843-
# https://jira.mongodb.org/browse/RUBY-3217
1844-
# ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7", "jruby-9.4", "jruby-9.3"]
1845-
ruby: ["ruby-3.2", "ruby-3.1", "ruby-3.0", "ruby-2.7"]
1880+
ruby: "ruby-3.2"
18461881
fle: path
1847-
os: rhel8
1882+
os: ubuntu2204
18481883
display_name: "Atlas serverless ${ruby}"
18491884
tasks:
18501885
- name: serverless_task_group

.evergreen/config/axes.yml.erb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ axes:
7474
display_name: Replica Set
7575
variables:
7676
TOPOLOGY: replica-set
77+
- id: "replica-set-single-node"
78+
display_name: Replica Set (Single Node)
79+
variables:
80+
TOPOLOGY: replica-set-single-node
7781
- id: "sharded-cluster"
7882
display_name: Sharded
7983
variables:

.evergreen/config/common.yml.erb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,25 @@ functions:
165165

166166
EOT
167167

168+
"run CSOT tests":
169+
- command: shell.exec
170+
type: test
171+
params:
172+
shell: bash
173+
working_dir: "src"
174+
script: |
175+
${PREPARE_SHELL}
176+
# Needed for generating temporary aws credentials.
177+
if [ -n "${FLE}" ];
178+
then
179+
export AWS_ACCESS_KEY_ID="${fle_aws_key}"
180+
export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
181+
export AWS_DEFAULT_REGION="${fle_aws_region}"
182+
fi
183+
export CSOT_SPEC_TESTS=1
184+
TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb" \
185+
.evergreen/run-tests.sh
186+
168187
"export FLE credentials":
169188
- command: shell.exec
170189
type: test
@@ -745,6 +764,9 @@ tasks:
745764
- name: "test-kerberos"
746765
commands:
747766
- func: "run Kerberos unit tests"
767+
- name: "test-csot"
768+
commands:
769+
- func: "run CSOT tests"
748770
- name: "test-fle"
749771
commands:
750772
- func: "export FLE credentials"
@@ -860,5 +882,6 @@ tasks:
860882
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
861883
AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN}
862884
LAMBDA_STACK_NAME: "dbx-ruby-lambda"
885+
CLUSTER_PREFIX: "dbx-ruby-lambda"
863886
RVM_RUBY: ruby-3.2
864887
MONGODB_URI: ${MONGODB_URI}

.evergreen/config/standard.yml.erb

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@
3333

3434
recent_mdb = %w( 6.0 5.3 )
3535
latest_5x_mdb = "5.3".inspect # so it gets quoted as a string
36+
37+
all_dbs = %w(latest 7.0 6.0 5.3 5.0 4.4 4.2 4.0 3.6)
3638
%>
3739

3840
buildvariants:
@@ -142,6 +144,16 @@ buildvariants:
142144
tasks:
143145
- name: "test-mlaunch"
144146

147+
- matrix_name: CSOT
148+
matrix_spec:
149+
ruby: <%= latest_ruby %>
150+
mongodb-version: <%= latest_stable_mdb %>
151+
topology: replica-set-single-node
152+
os: rhel8
153+
display_name: "CSOT - ${mongodb-version}"
154+
tasks:
155+
- name: test-csot
156+
145157
- matrix_name: "no-retry-reads"
146158
matrix_spec:
147159
retry-reads: no-retry-reads
@@ -180,7 +192,7 @@ buildvariants:
180192
lint: on
181193
ruby: <%= latest_ruby %>
182194
mongodb-version: <%= latest_stable_mdb %>
183-
topology: '*'
195+
topology: <%= topologies %>
184196
os: rhel8
185197
display_name: "${mongodb-version} ${topology} ${lint} ${ruby}"
186198
tasks:
@@ -512,11 +524,9 @@ buildvariants:
512524

513525
- matrix_name: "serverless"
514526
matrix_spec:
515-
# https://jira.mongodb.org/browse/RUBY-3217
516-
# ruby: <%= supported_rubies %>
517-
ruby: <%= supported_mri_rubies %>
527+
ruby: <%= latest_ruby %>
518528
fle: path
519-
os: rhel8
529+
os: ubuntu2204
520530
display_name: "Atlas serverless ${ruby}"
521531
tasks:
522532
- name: serverless_task_group

.evergreen/handle-paths.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../.mod/drivers-evergreen-tools/.evergreen/handle-paths.sh

.evergreen/run-deployed-lambda-aws-tests.sh

Lines changed: 0 additions & 118 deletions
This file was deleted.

.evergreen/run-tests-deployed-lambda.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ export MONGODB_URI=${MONGODB_URI}
1414
export CLUSTER_PREFIX="ruby-driver-"
1515
export TEST_LAMBDA_DIRECTORY=`dirname "$0"`/../spec/faas/ruby-sam-app
1616

17-
. `dirname "$0"`/run-deployed-lambda-aws-tests.sh
17+
. `dirname "$0"`/aws_lambda/run-deployed-lambda-aws-tests.sh

.evergreen/run-tests-serverless.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ else
2525
python3 -u .evergreen/mongodl.py --component crypt_shared -V ${SERVERLESS_MONGODB_VERSION} --out `pwd`/csfle_lib --target `host_distro` || true
2626
if test -f `pwd`/csfle_lib/lib/mongo_crypt_v1.so
2727
then
28-
echo Usinn crypt shared library version ${SERVERLESS_MONGODB_VERSION}
28+
echo Using crypt shared library version ${SERVERLESS_MONGODB_VERSION}
2929
export MONGO_RUBY_DRIVER_CRYPT_SHARED_LIB_PATH=`pwd`/csfle_lib/lib/mongo_crypt_v1.so
3030
else
3131
echo Failed to download crypt shared library
3232
exit -1
3333
fi
3434
fi
3535

36-
if ! ( test -f /etc/os-release & grep -q ^ID.*rhel /etc/os-release & grep -q ^VERSION_ID.*8.0 /etc/os-release ); then
37-
echo Serverless tests assume rhel80
36+
if ! ( test -f /etc/os-release & grep -q ^ID.*ubuntu /etc/os-release & grep -q ^VERSION_ID.*22.04 /etc/os-release ); then
37+
echo Serverless tests assume ubuntu2204
3838
echo If this has changed, update .evergreen/run-tests-serverless.sh as necessary
3939
exit -1
4040
fi
@@ -43,8 +43,8 @@ mkdir libmongocrypt
4343
cd libmongocrypt
4444
curl --retry 3 -fLo libmongocrypt-all.tar.gz "https://s3.amazonaws.com/mciuploads/libmongocrypt/all/master/latest/libmongocrypt-all.tar.gz"
4545
tar xf libmongocrypt-all.tar.gz
46-
# We assume that serverless tests always use rhel80
47-
export LIBMONGOCRYPT_PATH=`pwd`/rhel-80-64-bit/nocrypto/lib64/libmongocrypt.so
46+
# We assume that serverless tests always use ubuntu2204
47+
export LIBMONGOCRYPT_PATH=`pwd`/ubuntu2204-64/nocrypto/lib/libmongocrypt.so
4848
cd -
4949

5050
cd .evergreen/csfle

.evergreen/run-tests.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ fi
6565

6666
calculate_server_args
6767
launch_ocsp_mock
68+
6869
launch_server "$dbdir"
6970

7071
uri_options="$URI_OPTIONS"
@@ -90,6 +91,9 @@ elif test "$TOPOLOGY" = replica-set; then
9091
# or it can try to send the commands to secondaries.
9192
hosts=localhost:27017,localhost:27018
9293
uri_options="$uri_options&replicaSet=test-rs"
94+
elif test "$TOPOLOGY" = replica-set-single-node; then
95+
hosts=localhost:27017
96+
uri_options="$uri_options&replicaSet=test-rs"
9397
else
9498
hosts=localhost:27017
9599
fi
@@ -283,7 +287,7 @@ fi
283287

284288
set_fcv
285289

286-
if test "$TOPOLOGY" = replica-set && ! echo "$MONGODB_VERSION" |fgrep -q 2.6; then
290+
if test "$TOPOLOGY" = replica-set || test "$TOPOLOGY" = replica-set-single-node; then
287291
ruby -Ilib -I.evergreen/lib -rbundler/setup -rserver_setup -e ServerSetup.new.setup_tags
288292
fi
289293

0 commit comments

Comments
 (0)