File tree Expand file tree Collapse file tree
main/java/com/emc/rest/smart
test/java/com/emc/rest/smart Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -29,16 +29,16 @@ description = 'Smart REST Client - JAX-RS (Jersey) REST client that provides cli
2929ext. githubProjectName = ' smart-client-java'
3030
3131buildscript {
32- ext. commonBuildVersion = ' 1.5 '
32+ ext. commonBuildVersion = ' 1.6 '
3333 ext. commonBuildDir = " https://raw.githubusercontent.com/emcvipr/ecs-common-build/v$commonBuildVersion "
3434 apply from : " $commonBuildDir /ecs-publish.buildscript.gradle" , to : buildscript
3535}
3636
3737apply from : " $commonBuildDir /ecs-publish.gradle"
3838
3939dependencies {
40- compile ' com.sun.jersey:jersey-client:1.19' ,
41- ' com.sun.jersey.contribs:jersey-apache-client4:1.19' ,
40+ compile ' com.sun.jersey:jersey-client:1.19.3 ' ,
41+ ' com.sun.jersey.contribs:jersey-apache-client4:1.19.3 ' ,
4242 ' org.apache.httpcomponents:httpclient:4.2.6' ,
4343 ' org.slf4j:slf4j-api:1.7.5'
4444 runtime ' org.slf4j:slf4j-log4j12:1.7.5'
Original file line number Diff line number Diff line change 1- # Tue Feb 10 16:00:30 CST 2015
1+ # Thu Mar 02 11:15:41 CST 2017
22distributionBase =GRADLE_USER_HOME
33distributionPath =wrapper/dists
44zipStoreBase =GRADLE_USER_HOME
55zipStorePath =wrapper/dists
6- distributionUrl =https\://services.gradle.org/distributions/gradle-2.2.1 -bin.zip
6+ distributionUrl =https\://services.gradle.org/distributions/gradle-2.14 -bin.zip
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 @@ -138,9 +138,9 @@ static ApacheHttpClient4Handler createApacheClientHandler(SmartConfig smartConfi
138138
139139 // set up multi-threaded connection pool
140140 org .apache .http .impl .conn .PoolingClientConnectionManager connectionManager = new org .apache .http .impl .conn .PoolingClientConnectionManager ();
141- // 200 maximum active connections (should be more than enough for any JVM instance )
142- connectionManager .setDefaultMaxPerRoute (200 );
143- connectionManager .setMaxTotal (200 );
141+ // 999 maximum active connections (max allowed )
142+ connectionManager .setDefaultMaxPerRoute (999 );
143+ connectionManager .setMaxTotal (999 );
144144 clientConfig .getProperties ().put (ApacheHttpClient4Config .PROPERTY_CONNECTION_MANAGER , connectionManager );
145145
146146 // set proxy config
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 @@ -55,7 +55,7 @@ public class SmartClientTest {
5555
5656 public static final String PROP_ATMOS_ENDPOINTS = "atmos.endpoints" ;
5757 public static final String PROP_ATMOS_UID = "atmos.uid" ;
58- public static final String PROP_ATMOS_SECRET = "atmos.secret_key " ;
58+ public static final String PROP_ATMOS_SECRET = "atmos.secret " ;
5959
6060 private static final String HEADER_FORMAT = "EEE, d MMM yyyy HH:mm:ss z" ;
6161 private static final ThreadLocal <DateFormat > headerFormat = new ThreadLocal <DateFormat >();
@@ -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