Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 55f726f

Browse files
authoredJul 12, 2024··
Double timeouts in serverless mode to reduce test execution flakiness. (#1441)
JAVA-5469
1 parent b7eed4c commit 55f726f

File tree

5 files changed

+63
-46
lines changed

5 files changed

+63
-46
lines changed
 

‎driver-core/src/test/functional/com/mongodb/ClusterFixture.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,4 +830,11 @@ public static int getReferenceCountAfterTimeout(final ReferenceCounted reference
830830
public static ClusterSettings.Builder setDirectConnection(final ClusterSettings.Builder builder) {
831831
return builder.mode(ClusterConnectionMode.SINGLE).hosts(singletonList(getPrimary()));
832832
}
833+
834+
public static int applyTimeoutMultiplierForServerless(final int timeoutMs) {
835+
if (ClusterFixture.isServerlessTest()) {
836+
return timeoutMs * 2;
837+
}
838+
return timeoutMs;
839+
}
833840
}

‎driver-reactive-streams/src/test/functional/com/mongodb/reactivestreams/client/ClientSideOperationTimeoutProseTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import java.util.stream.Collectors;
5959

6060
import static com.mongodb.ClusterFixture.TIMEOUT_DURATION;
61+
import static com.mongodb.ClusterFixture.applyTimeoutMultiplierForServerless;
6162
import static com.mongodb.ClusterFixture.isDiscoverableReplicaSet;
6263
import static com.mongodb.ClusterFixture.isServerlessTest;
6364
import static com.mongodb.ClusterFixture.serverVersionAtLeast;
@@ -119,12 +120,12 @@ public void testGridFSUploadViaOpenUploadStreamTimeout() {
119120
+ " data: {"
120121
+ " failCommands: [\"insert\"],"
121122
+ " blockConnection: true,"
122-
+ " blockTimeMS: " + (rtt + 405)
123+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(405))
123124
+ " }"
124125
+ "}");
125126

126127
try (MongoClient client = createReactiveClient(getMongoClientSettingsBuilder()
127-
.timeout(rtt + 400, TimeUnit.MILLISECONDS))) {
128+
.timeout(rtt + applyTimeoutMultiplierForServerless(400), TimeUnit.MILLISECONDS))) {
128129
MongoDatabase database = client.getDatabase(gridFsFileNamespace.getDatabaseName());
129130
GridFSBucket gridFsBucket = createReaciveGridFsBucket(database, GRID_FS_BUCKET_NAME);
130131

@@ -178,12 +179,12 @@ public void testAbortingGridFsUploadStreamTimeout() throws ExecutionException, I
178179
+ " data: {"
179180
+ " failCommands: [\"delete\"],"
180181
+ " blockConnection: true,"
181-
+ " blockTimeMS: " + (rtt + 405)
182+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(405))
182183
+ " }"
183184
+ "}");
184185

185186
try (MongoClient client = createReactiveClient(getMongoClientSettingsBuilder()
186-
.timeout(rtt + 400, TimeUnit.MILLISECONDS))) {
187+
.timeout(rtt + applyTimeoutMultiplierForServerless(400), TimeUnit.MILLISECONDS))) {
187188
MongoDatabase database = client.getDatabase(gridFsFileNamespace.getDatabaseName());
188189
GridFSBucket gridFsBucket = createReaciveGridFsBucket(database, GRID_FS_BUCKET_NAME);
189190

‎driver-sync/src/test/functional/com/mongodb/client/AbstractClientSideOperationsTimeoutProseTest.java

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
import java.util.stream.Collectors;
7272
import java.util.stream.Stream;
7373

74+
import static com.mongodb.ClusterFixture.applyTimeoutMultiplierForServerless;
7475
import static com.mongodb.ClusterFixture.getConnectionString;
7576
import static com.mongodb.ClusterFixture.isAuthenticated;
7677
import static com.mongodb.ClusterFixture.isDiscoverableReplicaSet;
@@ -153,7 +154,7 @@ public void testBackgroundConnectionPoolingTimeoutMSUsedForHandshakeCommands() {
153154
builder.minSize(1);
154155
builder.addConnectionPoolListener(connectionPoolListener);
155156
})
156-
.timeout(100, TimeUnit.MILLISECONDS))) {
157+
.timeout(applyTimeoutMultiplierForServerless(100), TimeUnit.MILLISECONDS))) {
157158

158159
assertDoesNotThrow(() ->
159160
connectionPoolListener.waitForEvents(asList(ConnectionCreatedEvent.class, ConnectionClosedEvent.class),
@@ -188,7 +189,7 @@ public void testBackgroundConnectionPoolingTimeoutMSIsRefreshedForEachHandshakeC
188189
builder.minSize(1);
189190
builder.addConnectionPoolListener(connectionPoolListener);
190191
})
191-
.timeout(250, TimeUnit.MILLISECONDS))) {
192+
.timeout(applyTimeoutMultiplierForServerless(250), TimeUnit.MILLISECONDS))) {
192193

193194
assertDoesNotThrow(() ->
194195
connectionPoolListener.waitForEvents(asList(ConnectionCreatedEvent.class, ConnectionReadyEvent.class),
@@ -211,12 +212,12 @@ public void testBlockingIterationMethodsTailableCursor() {
211212
+ " data: {"
212213
+ " failCommands: [\"getMore\"],"
213214
+ " blockConnection: true,"
214-
+ " blockTimeMS: " + 150
215+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(150)
215216
+ " }"
216217
+ "}");
217218

218219
try (MongoClient client = createMongoClient(getMongoClientSettingsBuilder()
219-
.timeout(250, TimeUnit.MILLISECONDS))) {
220+
.timeout(applyTimeoutMultiplierForServerless(250), TimeUnit.MILLISECONDS))) {
220221
MongoCollection<Document> collection = client.getDatabase(namespace.getDatabaseName())
221222
.getCollection(namespace.getCollectionName());
222223

@@ -243,7 +244,7 @@ public void testBlockingIterationMethodsChangeStream() {
243244

244245
BsonTimestamp startTime = new BsonTimestamp((int) Instant.now().getEpochSecond(), 0);
245246
collectionHelper.create(namespace.getCollectionName(), new CreateCollectionOptions());
246-
sleep(2000);
247+
sleep(applyTimeoutMultiplierForServerless(2000));
247248
collectionHelper.insertDocuments(singletonList(BsonDocument.parse("{x: 1}")), WriteConcern.MAJORITY);
248249

249250
collectionHelper.runAdminCommand("{"
@@ -252,12 +253,12 @@ public void testBlockingIterationMethodsChangeStream() {
252253
+ " data: {"
253254
+ " failCommands: [\"getMore\"],"
254255
+ " blockConnection: true,"
255-
+ " blockTimeMS: " + 150
256+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(150)
256257
+ " }"
257258
+ "}");
258259

259260
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder()
260-
.timeout(250, TimeUnit.MILLISECONDS))) {
261+
.timeout(applyTimeoutMultiplierForServerless(250), TimeUnit.MILLISECONDS))) {
261262

262263
MongoCollection<Document> collection = mongoClient.getDatabase(namespace.getDatabaseName())
263264
.getCollection(namespace.getCollectionName()).withReadPreference(ReadPreference.primary());
@@ -292,15 +293,15 @@ public void testGridFSUploadViaOpenUploadStreamTimeout() {
292293
+ " data: {"
293294
+ " failCommands: [\"insert\"],"
294295
+ " blockConnection: true,"
295-
+ " blockTimeMS: " + (rtt + 205)
296+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(205))
296297
+ " }"
297298
+ "}");
298299

299300
chunksCollectionHelper.create();
300301
filesCollectionHelper.create();
301302

302303
try (MongoClient client = createMongoClient(getMongoClientSettingsBuilder()
303-
.timeout(rtt + 200, TimeUnit.MILLISECONDS))) {
304+
.timeout(rtt + applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS))) {
304305
MongoDatabase database = client.getDatabase(namespace.getDatabaseName());
305306
GridFSBucket gridFsBucket = createGridFsBucket(database, GRID_FS_BUCKET_NAME);
306307

@@ -323,15 +324,15 @@ public void testAbortingGridFsUploadStreamTimeout() throws Throwable {
323324
+ " data: {"
324325
+ " failCommands: [\"delete\"],"
325326
+ " blockConnection: true,"
326-
+ " blockTimeMS: " + (rtt + 305)
327+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(305))
327328
+ " }"
328329
+ "}");
329330

330331
chunksCollectionHelper.create();
331332
filesCollectionHelper.create();
332333

333334
try (MongoClient client = createMongoClient(getMongoClientSettingsBuilder()
334-
.timeout(rtt + 300, TimeUnit.MILLISECONDS))) {
335+
.timeout(rtt + applyTimeoutMultiplierForServerless(300), TimeUnit.MILLISECONDS))) {
335336
MongoDatabase database = client.getDatabase(namespace.getDatabaseName());
336337
GridFSBucket gridFsBucket = createGridFsBucket(database, GRID_FS_BUCKET_NAME).withChunkSizeBytes(2);
337338

@@ -374,12 +375,12 @@ public void testGridFsDownloadStreamTimeout() {
374375
+ " data: {"
375376
+ " failCommands: [\"find\"],"
376377
+ " blockConnection: true,"
377-
+ " blockTimeMS: " + (rtt + 95)
378+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(95))
378379
+ " }"
379380
+ "}");
380381

381382
try (MongoClient client = createMongoClient(getMongoClientSettingsBuilder()
382-
.timeout(rtt + 100, TimeUnit.MILLISECONDS))) {
383+
.timeout(rtt + applyTimeoutMultiplierForServerless(100), TimeUnit.MILLISECONDS))) {
383384
MongoDatabase database = client.getDatabase(namespace.getDatabaseName());
384385
GridFSBucket gridFsBucket = createGridFsBucket(database, GRID_FS_BUCKET_NAME).withChunkSizeBytes(2);
385386

@@ -472,12 +473,12 @@ public void test9EndSessionClientTimeout() {
472473
+ " data: {"
473474
+ " failCommands: [\"abortTransaction\"],"
474475
+ " blockConnection: true,"
475-
+ " blockTimeMS: " + 150
476+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(150)
476477
+ " }"
477478
+ "}");
478479

479480
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder().retryWrites(false)
480-
.timeout(100, TimeUnit.MILLISECONDS))) {
481+
.timeout(applyTimeoutMultiplierForServerless(100), TimeUnit.MILLISECONDS))) {
481482
MongoCollection<Document> collection = mongoClient.getDatabase(namespace.getDatabaseName())
482483
.getCollection(namespace.getCollectionName());
483484

@@ -488,7 +489,7 @@ public void test9EndSessionClientTimeout() {
488489
long start = System.nanoTime();
489490
session.close();
490491
long elapsed = msElapsedSince(start) - postSessionCloseSleep();
491-
assertTrue(elapsed <= 150, "Took too long to time out, elapsedMS: " + elapsed);
492+
assertTrue(elapsed <= applyTimeoutMultiplierForServerless(150), "Took too long to time out, elapsedMS: " + elapsed);
492493
}
493494
}
494495
CommandFailedEvent abortTransactionEvent = assertDoesNotThrow(() ->
@@ -510,7 +511,7 @@ public void test9EndSessionSessionTimeout() {
510511
+ " data: {"
511512
+ " failCommands: [\"abortTransaction\"],"
512513
+ " blockConnection: true,"
513-
+ " blockTimeMS: " + 150
514+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(150)
514515
+ " }"
515516
+ "}");
516517

@@ -519,14 +520,14 @@ public void test9EndSessionSessionTimeout() {
519520
.getCollection(namespace.getCollectionName());
520521

521522
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
522-
.defaultTimeout(100, TimeUnit.MILLISECONDS).build())) {
523+
.defaultTimeout(applyTimeoutMultiplierForServerless((100)), TimeUnit.MILLISECONDS).build())) {
523524
session.startTransaction();
524525
collection.insertOne(session, new Document("x", 1));
525526

526527
long start = System.nanoTime();
527528
session.close();
528529
long elapsed = msElapsedSince(start) - postSessionCloseSleep();
529-
assertTrue(elapsed <= 150, "Took too long to time out, elapsedMS: " + elapsed);
530+
assertTrue(elapsed <= applyTimeoutMultiplierForServerless(150), "Took too long to time out, elapsedMS: " + elapsed);
530531
}
531532
}
532533
CommandFailedEvent abortTransactionEvent = assertDoesNotThrow(() ->
@@ -554,10 +555,10 @@ public void test9EndSessionCustomTesEachOperationHasItsOwnTimeoutWithCommit() {
554555
.getCollection(namespace.getCollectionName());
555556

556557
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
557-
.defaultTimeout(200, TimeUnit.MILLISECONDS).build())) {
558+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS).build())) {
558559
session.startTransaction();
559560
collection.insertOne(session, new Document("x", 1));
560-
sleep(200);
561+
sleep(applyTimeoutMultiplierForServerless(200));
561562

562563
assertDoesNotThrow(session::commitTransaction);
563564
}
@@ -585,10 +586,10 @@ public void test9EndSessionCustomTesEachOperationHasItsOwnTimeoutWithAbort() {
585586
.getCollection(namespace.getCollectionName());
586587

587588
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
588-
.defaultTimeout(200, TimeUnit.MILLISECONDS).build())) {
589+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS).build())) {
589590
session.startTransaction();
590591
collection.insertOne(session, new Document("x", 1));
591-
sleep(200);
592+
sleep(applyTimeoutMultiplierForServerless(200));
592593

593594
assertDoesNotThrow(session::close);
594595
}
@@ -608,11 +609,12 @@ public void test10ConvenientTransactions() {
608609
+ " data: {"
609610
+ " failCommands: [\"insert\", \"abortTransaction\"],"
610611
+ " blockConnection: true,"
611-
+ " blockTimeMS: " + 150
612+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(150)
612613
+ " }"
613614
+ "}");
614615

615-
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder().timeout(100, TimeUnit.MILLISECONDS))) {
616+
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder()
617+
.timeout(applyTimeoutMultiplierForServerless(100), TimeUnit.MILLISECONDS))) {
616618
MongoCollection<Document> collection = mongoClient.getDatabase(namespace.getDatabaseName())
617619
.getCollection(namespace.getCollectionName());
618620

@@ -642,7 +644,7 @@ public void test10CustomTestWithTransactionUsesASingleTimeout() {
642644
+ " data: {"
643645
+ " failCommands: [\"insert\"],"
644646
+ " blockConnection: true,"
645-
+ " blockTimeMS: " + 25
647+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(25)
646648
+ " }"
647649
+ "}");
648650

@@ -651,11 +653,11 @@ public void test10CustomTestWithTransactionUsesASingleTimeout() {
651653
.getCollection(namespace.getCollectionName());
652654

653655
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
654-
.defaultTimeout(200, TimeUnit.MILLISECONDS).build())) {
656+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS).build())) {
655657
assertThrows(MongoOperationTimeoutException.class,
656658
() -> session.withTransaction(() -> {
657659
collection.insertOne(session, new Document("x", 1));
658-
sleep(200);
660+
sleep(applyTimeoutMultiplierForServerless(200));
659661
return true;
660662
})
661663
);
@@ -675,7 +677,7 @@ public void test10CustomTestWithTransactionUsesASingleTimeoutWithLock() {
675677
+ " data: {"
676678
+ " failCommands: [\"insert\"],"
677679
+ " blockConnection: true,"
678-
+ " blockTimeMS: " + 25
680+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(25)
679681
+ " errorCode: " + 24
680682
+ " errorLabels: [\"TransientTransactionError\"]"
681683
+ " }"
@@ -686,11 +688,11 @@ public void test10CustomTestWithTransactionUsesASingleTimeoutWithLock() {
686688
.getCollection(namespace.getCollectionName());
687689

688690
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
689-
.defaultTimeout(200, TimeUnit.MILLISECONDS).build())) {
691+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS).build())) {
690692
assertThrows(MongoOperationTimeoutException.class,
691693
() -> session.withTransaction(() -> {
692694
collection.insertOne(session, new Document("x", 1));
693-
sleep(200);
695+
sleep(applyTimeoutMultiplierForServerless(200));
694696
return true;
695697
})
696698
);
@@ -712,13 +714,13 @@ public void shouldIgnoreWtimeoutMsOfWriteConcernToInitialAndSubsequentCommitTran
712714
.getCollection(namespace.getCollectionName());
713715

714716
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
715-
.defaultTimeout(200, TimeUnit.MILLISECONDS)
717+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS)
716718
.build())) {
717719
session.startTransaction(TransactionOptions.builder()
718-
.writeConcern(WriteConcern.ACKNOWLEDGED.withWTimeout(100, TimeUnit.MILLISECONDS))
720+
.writeConcern(WriteConcern.ACKNOWLEDGED.withWTimeout(applyTimeoutMultiplierForServerless(100), TimeUnit.MILLISECONDS))
719721
.build());
720722
collection.insertOne(session, new Document("x", 1));
721-
sleep(200);
723+
sleep(applyTimeoutMultiplierForServerless(200));
722724

723725
assertDoesNotThrow(session::commitTransaction);
724726
//repeat commit.
@@ -756,13 +758,13 @@ public void testKillCursorsIsNotExecutedAfterGetMoreNetworkErrorWhenTimeoutIsNot
756758
+ " data: {"
757759
+ " failCommands: [\"getMore\" ],"
758760
+ " blockConnection: true,"
759-
+ " blockTimeMS: " + (rtt + 600)
761+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(600))
760762
+ " }"
761763
+ "}");
762764

763765
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder()
764766
.retryReads(true)
765-
.applyToSocketSettings(builder -> builder.readTimeout(500, TimeUnit.MILLISECONDS)))) {
767+
.applyToSocketSettings(builder -> builder.readTimeout(applyTimeoutMultiplierForServerless(500), TimeUnit.MILLISECONDS)))) {
766768

767769
MongoCollection<Document> collection = mongoClient.getDatabase(namespace.getDatabaseName())
768770
.getCollection(namespace.getCollectionName()).withReadPreference(ReadPreference.primary());
@@ -803,12 +805,12 @@ public void testKillCursorsIsNotExecutedAfterGetMoreNetworkError() {
803805
+ " data: {"
804806
+ " failCommands: [\"getMore\" ],"
805807
+ " blockConnection: true,"
806-
+ " blockTimeMS: " + (rtt + 600)
808+
+ " blockTimeMS: " + (rtt + applyTimeoutMultiplierForServerless(600))
807809
+ " }"
808810
+ "}");
809811

810812
try (MongoClient mongoClient = createMongoClient(getMongoClientSettingsBuilder()
811-
.timeout(500, TimeUnit.MILLISECONDS))) {
813+
.timeout(applyTimeoutMultiplierForServerless(500), TimeUnit.MILLISECONDS))) {
812814

813815
MongoCollection<Document> collection = mongoClient.getDatabase(namespace.getDatabaseName())
814816
.getCollection(namespace.getCollectionName()).withReadPreference(ReadPreference.primary());
@@ -845,11 +847,11 @@ public void shouldThrowTimeoutExceptionForSubsequentCommitTransaction() {
845847
.getCollection(namespace.getCollectionName());
846848

847849
try (ClientSession session = mongoClient.startSession(ClientSessionOptions.builder()
848-
.defaultTimeout(200, TimeUnit.MILLISECONDS)
850+
.defaultTimeout(applyTimeoutMultiplierForServerless(200), TimeUnit.MILLISECONDS)
849851
.build())) {
850852
session.startTransaction(TransactionOptions.builder().build());
851853
collection.insertOne(session, new Document("x", 1));
852-
sleep(200);
854+
sleep(applyTimeoutMultiplierForServerless(200));
853855

854856
assertDoesNotThrow(session::commitTransaction);
855857

@@ -859,7 +861,7 @@ public void shouldThrowTimeoutExceptionForSubsequentCommitTransaction() {
859861
+ " data: {"
860862
+ " failCommands: [\"commitTransaction\"],"
861863
+ " blockConnection: true,"
862-
+ " blockTimeMS: " + 500
864+
+ " blockTimeMS: " + applyTimeoutMultiplierForServerless(500)
863865
+ " }"
864866
+ "}");
865867

‎driver-sync/src/test/functional/com/mongodb/client/ClientSideOperationTimeoutTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ public static void skipOperationTimeoutTests(final String fileDescription, final
6363

6464
/* Drivers MUST NOT execute a killCursors command because the pinned connection is no longer under a load balancer. */
6565
assumeFalse(testDescription.equals("timeoutMS is refreshed for close"));
66+
67+
/* Flaky tests. We have to retry them once we have a Junit5 rule. */
68+
assumeFalse(testDescription.equals("remaining timeoutMS applied to getMore if timeoutMode is unset"));
69+
assumeFalse(testDescription.equals("remaining timeoutMS applied to getMore if timeoutMode is cursor_lifetime"));
70+
assumeFalse(testDescription.equals("timeoutMS is refreshed for getMore if timeoutMode is iteration - success"));
71+
assumeFalse(testDescription.equals("timeoutMS is refreshed for getMore if timeoutMode is iteration - failure"));
6672
}
6773
assumeFalse("No maxTimeMS parameter for createIndex() method",
6874
testDescription.contains("maxTimeMS is ignored if timeoutMS is set - createIndex on collection"));

‎driver-sync/src/test/functional/com/mongodb/client/csot/AbstractClientSideOperationsEncryptionTimeoutProseTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
import java.util.Map;
5858
import java.util.concurrent.TimeUnit;
5959

60+
import static com.mongodb.ClusterFixture.applyTimeoutMultiplierForServerless;
6061
import static com.mongodb.ClusterFixture.serverVersionAtLeast;
6162
import static java.util.concurrent.TimeUnit.MILLISECONDS;
6263
import static org.hamcrest.MatcherAssert.assertThat;
@@ -273,7 +274,7 @@ void shouldThrowTimeoutExceptionWhenCreateEncryptedCollection(final String comma
273274
assumeTrue(serverVersionAtLeast(7, 0));
274275
//given
275276
long rtt = ClusterFixture.getPrimaryRTT();
276-
long initialTimeoutMS = rtt + 200;
277+
long initialTimeoutMS = rtt + applyTimeoutMultiplierForServerless(200);
277278

278279
try (ClientEncryption clientEncryption = createClientEncryption(getClientEncryptionSettingsBuilder()
279280
.timeout(initialTimeoutMS, MILLISECONDS))) {

0 commit comments

Comments
 (0)
Please sign in to comment.