@@ -59,15 +59,14 @@ public BaseCluster(final String clusterId, final ClusterSettings settings, final
5959 }
6060
6161 @ Override
62- public Server getServer (final ServerSelector serverSelector , final long maxWaitTime , final TimeUnit maxWaitTimeTimeUnit ,
63- final long connectRetryFrequency , final TimeUnit connectRetryFrequencyTimeUnit ) {
62+ public Server getServer (final ServerSelector serverSelector , final long maxWaitTime , final TimeUnit timeUnit ) {
6463 isTrue ("open" , !isClosed ());
6564
6665 try {
6766 CountDownLatch currentPhase = phase .get ();
6867 ClusterDescription curDescription = description ;
6968 List <ServerDescription > serverDescriptions = serverSelector .choose (curDescription );
70- final long endTime = System .nanoTime () + NANOSECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit );
69+ final long endTime = System .nanoTime () + NANOSECONDS .convert (maxWaitTime , timeUnit );
7170 boolean selectionFailureLogged = false ;
7271 while (true ) {
7372 throwIfIncompatible (curDescription );
@@ -81,17 +80,18 @@ public Server getServer(final ServerSelector serverSelector, final long maxWaitT
8180
8281 if (System .nanoTime () > endTime ) {
8382 throw new MongoTimeoutException (format ("Timed out while waiting for a server that matches %s after %d ms" ,
84- serverSelector , MILLISECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit )));
83+ serverSelector , MILLISECONDS .convert (maxWaitTime , timeUnit )));
8584 }
8685
8786 if (!selectionFailureLogged ) {
8887 LOGGER .info (format ("No server chosen by %s from cluster description %s. Waiting for %d ms before timing out" ,
89- serverSelector , curDescription , MILLISECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit )));
88+ serverSelector , curDescription , MILLISECONDS .convert (maxWaitTime , timeUnit )));
9089 selectionFailureLogged = true ;
9190 }
91+
9292 connect ();
9393
94- currentPhase .await (connectRetryFrequency , connectRetryFrequencyTimeUnit );
94+ currentPhase .await (serverFactory . getSettings (). getHeartbeatConnectRetryFrequency ( NANOSECONDS ), NANOSECONDS );
9595
9696 currentPhase = phase .get ();
9797 curDescription = description ;
@@ -103,31 +103,30 @@ public Server getServer(final ServerSelector serverSelector, final long maxWaitT
103103 }
104104
105105 @ Override
106- public ClusterDescription getDescription (final long maxWaitTime , final TimeUnit maxWaitTimeTimeUnit ,
107- final long connectRetryFrequency , final TimeUnit connectRetryFrequencyTimeUnit ) {
106+ public ClusterDescription getDescription (final long maxWaitTime , final TimeUnit timeUnit ) {
108107 isTrue ("open" , !isClosed ());
109108
110109 try {
111110 CountDownLatch currentPhase = phase .get ();
112111 ClusterDescription curDescription = description ;
113- final long endTime = System .nanoTime () + NANOSECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit );
112+ final long endTime = System .nanoTime () + NANOSECONDS .convert (maxWaitTime , timeUnit );
114113 boolean selectionFailureLogged = false ;
115114 while (curDescription .getType () == ClusterType .Unknown ) {
116115
117116 if (System .nanoTime () > endTime ) {
118117 throw new MongoTimeoutException (format ("Timed out while waiting to connect after %d ms" ,
119- MILLISECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit )));
118+ MILLISECONDS .convert (maxWaitTime , timeUnit )));
120119 }
121120
122121 if (!selectionFailureLogged ) {
123122 LOGGER .info (format ("Cluster description not yet available. Waiting for %d ms before timing out" ,
124- MILLISECONDS .convert (maxWaitTime , maxWaitTimeTimeUnit )));
123+ MILLISECONDS .convert (maxWaitTime , timeUnit )));
125124 selectionFailureLogged = true ;
126125 }
127126
128127 connect ();
129128
130- currentPhase .await (connectRetryFrequency , connectRetryFrequencyTimeUnit );
129+ currentPhase .await (serverFactory . getSettings (). getHeartbeatConnectRetryFrequency ( NANOSECONDS ), NANOSECONDS );
131130
132131 currentPhase = phase .get ();
133132 curDescription = description ;
0 commit comments