4747import com .mongodb .event .ConnectionClosedEvent ;
4848import com .mongodb .event .ConnectionCreatedEvent ;
4949import com .mongodb .event .ConnectionReadyEvent ;
50-
51- import static com .mongodb .internal .connection .CommandHelper .HELLO ;
52- import static com .mongodb .internal .connection .CommandHelper .LEGACY_HELLO ;
53-
5450import com .mongodb .internal .connection .InternalStreamConnection ;
5551import com .mongodb .internal .connection .ServerHelper ;
5652import com .mongodb .internal .connection .TestCommandListener ;
5753import com .mongodb .internal .connection .TestConnectionPoolListener ;
54+ import com .mongodb .internal .time .ExponentialBackoff ;
5855import com .mongodb .test .FlakyTest ;
5956import org .bson .BsonDocument ;
6057import org .bson .BsonInt32 ;
9087import static com .mongodb .ClusterFixture .sleep ;
9188import static com .mongodb .client .Fixture .getDefaultDatabaseName ;
9289import static com .mongodb .client .Fixture .getPrimary ;
90+ import static com .mongodb .internal .connection .CommandHelper .HELLO ;
91+ import static com .mongodb .internal .connection .CommandHelper .LEGACY_HELLO ;
9392import static java .lang .Long .MAX_VALUE ;
9493import static java .lang .String .join ;
9594import static java .util .Arrays .asList ;
@@ -1121,6 +1120,11 @@ public void setUp() {
11211120 filesCollectionHelper = new CollectionHelper <>(new BsonDocumentCodec (), gridFsFileNamespace );
11221121 chunksCollectionHelper = new CollectionHelper <>(new BsonDocumentCodec (), gridFsChunksNamespace );
11231122 commandListener = new TestCommandListener ();
1123+
1124+ // setting jitter to 0 to make test using withTransaction deterministic (i.e retries immediately) otherwise we might get
1125+ // MongoCommandException setup in the failpoint instead of MongoOperationTimeoutException depending on the random jitter value.
1126+ ExponentialBackoff .setTestJitterSupplier (() -> 1.0 );
1127+
11241128 }
11251129
11261130 @ AfterEach
@@ -1146,6 +1150,8 @@ public void tearDown() throws InterruptedException {
11461150 //noinspection ResultOfMethodCallIgnored
11471151 executor .awaitTermination (MAX_VALUE , NANOSECONDS );
11481152 }
1153+
1154+ ExponentialBackoff .clearTestJitterSupplier ();
11491155 }
11501156
11511157 @ AfterAll
0 commit comments