File tree Expand file tree Collapse file tree 3 files changed +10
-8
lines changed
main/java/com/emc/rest/smart
test/java/com/emc/rest/smart Expand file tree Collapse file tree 3 files changed +10
-8
lines changed Original file line number Diff line number Diff line change 2626 */
2727package com .emc .rest .smart ;
2828
29- import java .util .Date ;
30-
3129import org .slf4j .Logger ;
3230import org .slf4j .LoggerFactory ;
3331
32+ import java .util .Date ;
33+
3434/**
3535 * Some basic statements about response index calculation:
3636 * <p>
@@ -105,7 +105,9 @@ public boolean isHealthy() {
105105 if (!healthy ) return false ;
106106 else if (consecutiveErrors == 0 ) return true ;
107107 else {
108- long coolDownExp = consecutiveErrors > MAX_COOL_DOWN_EXP ? MAX_COOL_DOWN_EXP : consecutiveErrors - 1 ;
108+ // errorWaitTime * 2 ^ (min(errors-1, 4))
109+ // i.e. back-off is doubled for each consecutive error up to 4
110+ long coolDownExp = Math .min (consecutiveErrors - 1 , MAX_COOL_DOWN_EXP );
109111 long msSinceLastUse = System .currentTimeMillis () - lastConnectionTime ;
110112 long errorCoolDown = (long ) Math .pow (2 , coolDownExp ) * errorWaitTime ;
111113 return msSinceLastUse > errorCoolDown ;
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ public void testHost() throws Exception {
7171 Thread .sleep (errorWaitTime - 500 ); // wait until just before the error is cooled down
7272 Assert .assertFalse (host .isHealthy ()); // host should still be in cool down period
7373
74- Thread .sleep (500 ); // wait until cool down period is over
74+ Thread .sleep (600 ); // wait until cool down period is over
7575 Assert .assertTrue (host .isHealthy ());
7676
7777 // test another error
@@ -89,7 +89,7 @@ public void testHost() throws Exception {
8989 Thread .sleep (2 * errorWaitTime - 500 ); // wait until just before cool down is over
9090 Assert .assertFalse (host .isHealthy ());
9191
92- Thread .sleep (500 ); // wait until cool down period is over
92+ Thread .sleep (600 ); // wait until cool down period is over
9393 Assert .assertTrue (host .isHealthy ());
9494
9595 // test one more error
@@ -107,7 +107,7 @@ public void testHost() throws Exception {
107107 Thread .sleep (2 * 2 * errorWaitTime - 500 ); // wait until just before cool down is over
108108 Assert .assertFalse (host .isHealthy ());
109109
110- Thread .sleep (500 ); // wait until cool down period is over
110+ Thread .sleep (600 ); // wait until cool down period is over
111111 Assert .assertTrue (host .isHealthy ());
112112
113113 // test no more errors
Original file line number Diff line number Diff line change @@ -115,15 +115,15 @@ public void testConnTimeout() throws Exception {
115115 HttpParams httpParams = new BasicHttpParams ();
116116 HttpConnectionParams .setConnectionTimeout (httpParams , CONNECTION_TIMEOUT_MILLIS );
117117
118- SmartConfig smartConfig = new SmartConfig ("10.4 .4.180 " );
118+ SmartConfig smartConfig = new SmartConfig ("8.8 .4.4:9020 " );
119119 smartConfig .setProperty (ApacheHttpClient4Config .PROPERTY_HTTP_PARAMS , httpParams );
120120
121121 final Client client = SmartClientFactory .createStandardClient (smartConfig );
122122
123123 Future future = Executors .newSingleThreadExecutor ().submit (new Runnable () {
124124 @ Override
125125 public void run () {
126- client .resource ("http://10.4 .4.180 :9020/?ping" ).get (String .class );
126+ client .resource ("http://8.8 .4.4 :9020/?ping" ).get (String .class );
127127 Assert .fail ("response was not expected; choose an IP that is not in use" );
128128 }
129129 });
You can’t perform that action at this time.
0 commit comments