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

File tree

9 files changed

+49
-47
lines changed

9 files changed

+49
-47
lines changed

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
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,30 @@
66
##
77
##############################################################################
88

9-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10-
DEFAULT_JVM_OPTS=""
9+
# Attempt to set APP_HOME
10+
# Resolve links: $0 may be a link
11+
PRG="$0"
12+
# Need this for relative symlinks.
13+
while [ -h "$PRG" ] ; do
14+
ls=`ls -ld "$PRG"`
15+
link=`expr "$ls" : '.*-> \(.*\)$'`
16+
if expr "$link" : '/.*' > /dev/null; then
17+
PRG="$link"
18+
else
19+
PRG=`dirname "$PRG"`"/$link"
20+
fi
21+
done
22+
SAVED="`pwd`"
23+
cd "`dirname \"$PRG\"`/" >/dev/null
24+
APP_HOME="`pwd -P`"
25+
cd "$SAVED" >/dev/null
1126

1227
APP_NAME="Gradle"
1328
APP_BASE_NAME=`basename "$0"`
1429

30+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31+
DEFAULT_JVM_OPTS=""
32+
1533
# Use the maximum available, or set MAX_FD != -1 to use that value.
1634
MAX_FD="maximum"
1735

@@ -30,6 +48,7 @@ die ( ) {
3048
cygwin=false
3149
msys=false
3250
darwin=false
51+
nonstop=false
3352
case "`uname`" in
3453
CYGWIN* )
3554
cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
4059
MINGW* )
4160
msys=true
4261
;;
62+
NONSTOP* )
63+
nonstop=true
64+
;;
4365
esac
4466

45-
# For Cygwin, ensure paths are in UNIX format before anything is touched.
46-
if $cygwin ; then
47-
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48-
fi
49-
50-
# Attempt to set APP_HOME
51-
# Resolve links: $0 may be a link
52-
PRG="$0"
53-
# Need this for relative symlinks.
54-
while [ -h "$PRG" ] ; do
55-
ls=`ls -ld "$PRG"`
56-
link=`expr "$ls" : '.*-> \(.*\)$'`
57-
if expr "$link" : '/.*' > /dev/null; then
58-
PRG="$link"
59-
else
60-
PRG=`dirname "$PRG"`"/$link"
61-
fi
62-
done
63-
SAVED="`pwd`"
64-
cd "`dirname \"$PRG\"`/" >&-
65-
APP_HOME="`pwd -P`"
66-
cd "$SAVED" >&-
67-
6867
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6968

7069
# Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
9089
fi
9190

9291
# Increase the maximum file descriptors if we can.
93-
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
92+
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
9493
MAX_FD_LIMIT=`ulimit -H -n`
9594
if [ $? -eq 0 ] ; then
9695
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -114,6 +113,7 @@ fi
114113
if $cygwin ; then
115114
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
116115
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116+
JAVACMD=`cygpath --unix "$JAVACMD"`
117117

118118
# We build the pattern for arguments to be converted via cygpath
119119
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`

gradlew.bat

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
@rem Set local scope for the variables with windows NT shell
99
if "%OS%"=="Windows_NT" setlocal
1010

11-
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12-
set DEFAULT_JVM_OPTS=
13-
1411
set DIRNAME=%~dp0
1512
if "%DIRNAME%" == "" set DIRNAME=.
1613
set APP_BASE_NAME=%~n0
1714
set APP_HOME=%DIRNAME%
1815

16+
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17+
set DEFAULT_JVM_OPTS=
18+
1919
@rem Find java.exe
2020
if defined JAVA_HOME goto findJavaFromJavaHome
2121

@@ -46,7 +46,7 @@ echo location of your Java installation.
4646
goto fail
4747

4848
:init
49-
@rem Get command-line arguments, handling Windowz variants
49+
@rem Get command-line arguments, handling Windows variants
5050

5151
if not "%OS%" == "Windows_NT" goto win9xME_args
5252
if "%@eval[2+2]" == "4" goto 4NT_args

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)