Skip to content

Commit b381697

Browse files
Merge pull request #3 from EMCECS/release-2.1.1
Release 2.1.1
2 parents d82ec59 + eb4cd8e commit b381697

9 files changed

Lines changed: 49 additions & 47 deletions

File tree

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ description = 'Smart REST Client - JAX-RS (Jersey) REST client that provides cli
2929
ext.githubProjectName = 'smart-client-java'
3030

3131
buildscript {
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

3737
apply from: "$commonBuildDir/ecs-publish.gradle"
3838

3939
dependencies {
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'

gradle/wrapper/gradle-wrapper.jar

2.25 KB
Binary file not shown.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Tue Feb 10 16:00:30 CST 2015
1+
#Thu Mar 02 11:15:41 CST 2017
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=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

gradlew

Lines changed: 26 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/com/emc/rest/smart/Host.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626
*/
2727
package com.emc.rest.smart;
2828

29-
import java.util.Date;
30-
3129
import org.slf4j.Logger;
3230
import 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;

src/main/java/com/emc/rest/smart/SmartClientFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff 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

src/test/java/com/emc/rest/smart/HostTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff 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

src/test/java/com/emc/rest/smart/SmartClientTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff 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
});

0 commit comments

Comments
 (0)