Update Commons-Httpclient Dep, Misc Cleanup
Change-Id: Iaab8930ddf69a3202a6e7efff3533bfec8cff6c5
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1053
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
diff --git a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggregateIntoGroupbyRule.java b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggregateIntoGroupbyRule.java
index ed489e5..a162209 100644
--- a/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggregateIntoGroupbyRule.java
+++ b/asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggregateIntoGroupbyRule.java
@@ -24,13 +24,10 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.Callable;
-import java.util.concurrent.Future;
import org.apache.asterix.om.functions.AsterixBuiltinFunctions;
import org.apache.commons.lang3.mutable.Mutable;
import org.apache.commons.lang3.mutable.MutableObject;
-import org.apache.hadoop.yarn.webapp.hamlet.HamletSpec;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
import org.apache.hyracks.algebricks.common.utils.Pair;
import org.apache.hyracks.algebricks.core.algebra.base.ILogicalExpression;
diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index b06a03e..c2de29a 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -237,13 +237,6 @@
</dependency>
<dependency>
<groupId>org.apache.asterix</groupId>
- <artifactId>asterix-tools</artifactId>
- <version>${project.version}</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.asterix</groupId>
<artifactId>asterix-common</artifactId>
<version>${project.version}</version>
<type>jar</type>
@@ -271,29 +264,11 @@
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>xerces</groupId>
- <artifactId>xercesImpl</artifactId>
- <version>2.9.1</version>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>xalan</groupId>
- <artifactId>xalan</artifactId>
- <version>2.7.1</version>
- <type>jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.asterix</groupId>
<artifactId>asterix-test-framework</artifactId>
<version>${project.version}</version>
diff --git a/asterixdb/asterix-common/pom.xml b/asterixdb/asterix-common/pom.xml
index 5542186..ab511fb 100644
--- a/asterixdb/asterix-common/pom.xml
+++ b/asterixdb/asterix-common/pom.xml
@@ -180,9 +180,9 @@
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.hyracks</groupId>
diff --git a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
index 58c6a91..fb1c69a 100644
--- a/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
+++ b/asterixdb/asterix-common/src/test/java/org/apache/asterix/test/aql/TestExecutor.java
@@ -46,21 +46,19 @@
import org.apache.asterix.testframework.context.TestCaseContext;
import org.apache.asterix.testframework.context.TestCaseContext.OutputFormat;
import org.apache.asterix.testframework.context.TestFileContext;
-import org.apache.asterix.testframework.xml.TestCase;
import org.apache.asterix.testframework.xml.TestCase.CompilationUnit;
import org.apache.asterix.testframework.xml.TestGroup;
-import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.mutable.MutableInt;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.client.methods.RequestBuilder;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.impl.client.StandardHttpRequestRetryHandler;
+import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
public class TestExecutor {
@@ -252,49 +250,54 @@
}
}
- private int executeHttpMethod(HttpMethod method) throws Exception {
- HttpClient client = new HttpClient();
- int statusCode;
+ private HttpResponse executeHttpRequest(HttpUriRequest method) throws Exception {
+ HttpClient client = HttpClients.custom()
+ .setRetryHandler(StandardHttpRequestRetryHandler.INSTANCE)
+ .build();
+ HttpResponse httpResponse;
+
try {
- statusCode = client.executeMethod(method);
+ httpResponse = client.execute(method);
} catch (Exception e) {
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, e.getMessage(), e);
e.printStackTrace();
throw e;
}
+ int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
// QQQ For now, we are indeed assuming we get back JSON errors.
// In future this may be changed depending on the requested
// output format sent to the servlet.
- String errorBody = method.getResponseBodyAsString();
+ String errorBody = EntityUtils.toString(httpResponse.getEntity());
JSONObject result = new JSONObject(errorBody);
String[] errors = { result.getJSONArray("error-code").getString(0), result.getString("summary"),
result.getString("stacktrace") };
GlobalConfig.ASTERIX_LOGGER.log(Level.SEVERE, errors[2]);
- String exceptionMsg = "HTTP operation failed: " + errors[0] + "\nSTATUS LINE: " + method.getStatusLine()
+ String exceptionMsg = "HTTP operation failed: " + errors[0]
+ + "\nSTATUS LINE: " + httpResponse.getStatusLine()
+ "\nSUMMARY: " + errors[1] + "\nSTACKTRACE: " + errors[2];
throw new Exception(exceptionMsg);
}
- return statusCode;
+ return httpResponse;
}
public InputStream executeQuery(String str, OutputFormat fmt, String url,
List<CompilationUnit.Parameter> params) throws Exception {
- HttpMethod method = constructHttpMethod(str, url, "query", false, params);
+ HttpUriRequest method = constructHttpMethod(str, url, "query", false, params);
// Set accepted output response type
- method.setRequestHeader("Accept", fmt.mimeType());
- executeHttpMethod(method);
- return method.getResponseBodyAsStream();
+ method.setHeader("Accept", fmt.mimeType());
+ HttpResponse response = executeHttpRequest(method);
+ return response.getEntity().getContent();
}
public InputStream executeQueryService(String str, OutputFormat fmt, String url,
List<CompilationUnit.Parameter> params) throws Exception {
setFormatParam(params, fmt);
- HttpMethod method = constructHttpMethod(str, url, "statement", true, params);
+ HttpUriRequest method = constructHttpMethod(str, url, "statement", true, params);
// Set accepted output response type
- method.setRequestHeader("Accept", OutputFormat.CLEAN_JSON.mimeType());
- executeHttpMethod(method);
- return method.getResponseBodyAsStream();
+ method.setHeader("Accept", OutputFormat.CLEAN_JSON.mimeType());
+ HttpResponse response = executeHttpRequest(method);
+ return response.getEntity().getContent();
}
private void setFormatParam(List<CompilationUnit.Parameter> params, OutputFormat fmt) {
@@ -313,82 +316,63 @@
}
}
- private HttpMethod constructHttpMethod(String statement, String endpoint, String stmtParam, boolean postStmtAsParam,
+ private HttpUriRequest constructHttpMethod(String statement, String endpoint, String stmtParam, boolean postStmtAsParam,
List<CompilationUnit.Parameter> otherParams) {
- HttpMethod method;
+ RequestBuilder builder;
if (statement.length() + endpoint.length() < MAX_URL_LENGTH) {
// Use GET for small-ish queries
- GetMethod getMethod = new GetMethod(endpoint);
- NameValuePair[] parameters = new NameValuePair[otherParams.size() + 1];
- parameters[0] = new NameValuePair(stmtParam, statement);
- int i = 1;
+ builder = RequestBuilder.get(endpoint);
+ builder.addParameter(stmtParam, statement);
for (CompilationUnit.Parameter param : otherParams) {
- parameters[i++] = new NameValuePair(param.getName(), param.getValue());
+ builder.addParameter(param.getName(), param.getValue());
}
- getMethod.setQueryString(parameters);
- method = getMethod;
} else {
// Use POST for bigger ones to avoid 413 FULL_HEAD
- PostMethod postMethod = new PostMethod(endpoint);
+ builder = RequestBuilder.post(endpoint);
if (postStmtAsParam) {
for (CompilationUnit.Parameter param : otherParams) {
- postMethod.setParameter(param.getName(), param.getValue());
+ builder.addParameter(param.getName(), param.getValue());
}
- postMethod.setParameter("statement", statement);
+ builder.addParameter("statement", statement);
} else {
// this seems pretty bad - we should probably fix the API and not the client
- postMethod.setRequestEntity(new StringRequestEntity(statement));
+ builder.setEntity(new StringEntity(statement, StandardCharsets.UTF_8));
}
- method = postMethod;
}
- // Provide custom retry handler is necessary
- HttpMethodParams httpMethodParams = method.getParams();
- httpMethodParams.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
- httpMethodParams.setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, StandardCharsets.UTF_8.name());
- return method;
+ builder.setCharset(StandardCharsets.UTF_8);
+ return builder.build();
}
public InputStream executeClusterStateQuery(OutputFormat fmt, String url) throws Exception {
- HttpMethodBase method = new GetMethod(url);
+ HttpUriRequest request = RequestBuilder.get(url).setHeader("Accept", fmt.mimeType()).build();
- // Set accepted output response type
- method.setRequestHeader("Accept", fmt.mimeType());
- // Provide custom retry handler is necessary
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
- executeHttpMethod(method);
- return method.getResponseBodyAsStream();
+ HttpResponse response = executeHttpRequest(request);
+ return response.getEntity().getContent();
}
// To execute Update statements
// Insert and Delete statements are executed here
public void executeUpdate(String str, String url) throws Exception {
// Create a method instance.
- PostMethod method = new PostMethod(url);
- method.setRequestEntity(new StringRequestEntity(str));
-
- // Provide custom retry handler is necessary
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
+ HttpUriRequest request = RequestBuilder.post(url)
+ .setEntity(new StringEntity(str, StandardCharsets.UTF_8))
+ .build();
// Execute the method.
- executeHttpMethod(method);
+ executeHttpRequest(request);
}
// Executes AQL in either async or async-defer mode.
public InputStream executeAnyAQLAsync(String str, boolean defer, OutputFormat fmt, String url) throws Exception {
// Create a method instance.
- PostMethod method = new PostMethod(url);
- if (defer) {
- method.setQueryString(new NameValuePair[] { new NameValuePair("mode", "asynchronous-deferred") });
- } else {
- method.setQueryString(new NameValuePair[] { new NameValuePair("mode", "asynchronous") });
- }
- method.setRequestEntity(new StringRequestEntity(str));
- method.setRequestHeader("Accept", fmt.mimeType());
+ HttpUriRequest request = RequestBuilder.post(url)
+ .addParameter("mode", defer ? "asynchronous-deferred" : "asynchronous")
+ .setEntity(new StringEntity(str, StandardCharsets.UTF_8))
+ .setHeader("Accept", fmt.mimeType())
+ .build();
- // Provide custom retry handler is necessary
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
- executeHttpMethod(method);
- InputStream resultStream = method.getResponseBodyAsStream();
+ HttpResponse response = executeHttpRequest(request);
+ InputStream resultStream = response.getEntity().getContent();
String theHandle = IOUtils.toString(resultStream, "UTF-8");
@@ -401,15 +385,13 @@
final String url = "http://" + host + ":" + port + Servlets.QUERY_RESULT.getPath();
// Create a method instance.
- GetMethod method = new GetMethod(url);
- method.setQueryString(new NameValuePair[] { new NameValuePair("handle", handle) });
- method.setRequestHeader("Accept", fmt.mimeType());
+ HttpUriRequest request = RequestBuilder.get(url)
+ .addParameter("handle", handle)
+ .setHeader("Accept", fmt.mimeType())
+ .build();
- // Provide custom retry handler is necessary
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
-
- executeHttpMethod(method);
- return method.getResponseBodyAsStream();
+ HttpResponse response = executeHttpRequest(request);
+ return response.getEntity().getContent();
}
// To execute DDL and Update statements
@@ -420,13 +402,12 @@
// create function statement
public void executeDDL(String str, String url) throws Exception {
// Create a method instance.
- PostMethod method = new PostMethod(url);
- method.setRequestEntity(new StringRequestEntity(str));
- // Provide custom retry handler is necessary
- method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false));
+ HttpUriRequest request = RequestBuilder.post(url)
+ .setEntity(new StringEntity(str, StandardCharsets.UTF_8))
+ .build();
// Execute the method.
- executeHttpMethod(method);
+ executeHttpRequest(request);
}
// Method that reads a DDL/Update/Query File
diff --git a/asterixdb/asterix-experiments/pom.xml b/asterixdb/asterix-experiments/pom.xml
index 7a7d3c6..b923fba 100644
--- a/asterixdb/asterix-experiments/pom.xml
+++ b/asterixdb/asterix-experiments/pom.xml
@@ -122,13 +122,13 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.2.2</version>
+ <version>4.5.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
- <version>4.2.2</version>
+ <version>4.4.4</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -149,11 +149,11 @@
<artifactId>asterix-app</artifactId>
<version>${project.version}</version>
</dependency>
- <!-- <dependency>
- <groupId>net.schmizz</groupId>
- <artifactId>sshj</artifactId>
- <version>0.9.0</version>
- </dependency> -->
+ <dependency>
+ <groupId>org.apache.asterix</groupId>
+ <artifactId>asterix-tools</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>com.hierynomus</groupId>
<artifactId>sshj</artifactId>
diff --git a/asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/client/SyntheticDataGeneratorForSpatialIndexEvaluation.java b/asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/client/SyntheticDataGeneratorForSpatialIndexEvaluation.java
index 10bae07..25d56a0 100644
--- a/asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/client/SyntheticDataGeneratorForSpatialIndexEvaluation.java
+++ b/asterixdb/asterix-experiments/src/main/java/org/apache/asterix/experiment/client/SyntheticDataGeneratorForSpatialIndexEvaluation.java
@@ -23,13 +23,12 @@
import java.io.FileOutputStream;
import java.io.IOException;
-import org.kohsuke.args4j.CmdLineException;
-import org.kohsuke.args4j.CmdLineParser;
-
import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation;
import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation.InitializationInfo;
import org.apache.asterix.tools.external.data.DataGeneratorForSpatialIndexEvaluation.TweetMessageIterator;
import org.apache.asterix.tools.external.data.GULongIDGenerator;
+import org.kohsuke.args4j.CmdLineException;
+import org.kohsuke.args4j.CmdLineParser;
public class SyntheticDataGeneratorForSpatialIndexEvaluation {
public static void main(String[] args) throws Exception {
diff --git a/asterixdb/asterix-metadata/pom.xml b/asterixdb/asterix-metadata/pom.xml
index 28e4ad1..3087b60 100644
--- a/asterixdb/asterix-metadata/pom.xml
+++ b/asterixdb/asterix-metadata/pom.xml
@@ -61,12 +61,6 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client</artifactId>
- <type>jar</type>
- <scope>compile</scope>
- </dependency>
- <dependency>
<groupId>org.apache.hyracks</groupId>
<artifactId>hyracks-storage-am-lsm-invertedindex</artifactId>
</dependency>
@@ -79,10 +73,6 @@
<artifactId>hyracks-storage-am-lsm-rtree</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.hyracks</groupId>
- <artifactId>hyracks-hdfs-core</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.asterix</groupId>
<artifactId>asterix-external-data</artifactId>
<version>${project.version}</version>
diff --git a/asterixdb/asterix-tools/pom.xml b/asterixdb/asterix-tools/pom.xml
index 649eb38..011d44b 100644
--- a/asterixdb/asterix-tools/pom.xml
+++ b/asterixdb/asterix-tools/pom.xml
@@ -58,35 +58,6 @@
</plugins>
</build>
- <repositories>
- <repository>
- <id>central</id>
- <url>http://repo1.maven.org/maven2</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- <checksumPolicy>warn</checksumPolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- <updatePolicy>never</updatePolicy>
- <checksumPolicy>fail</checksumPolicy>
- </snapshots>
- <id>HDPReleases</id>
- <name>HDP Releases</name>
- <url>http://repo.hortonworks.com/content/repositories/releases</url>
- <layout>default</layout>
- </repository>
- </repositories>
-
<dependencies>
<dependency>
<groupId>org.apache.asterix</groupId>
@@ -119,78 +90,6 @@
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
- <!--<dependency>
- <groupId>org.apache.asterix</groupId>
- <artifactId>asterix-metadata</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>-->
- <dependency>
- <groupId>org.apache.asterix</groupId>
- <artifactId>asterix-events</artifactId>
- <version>${project.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-yarn-common</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-yarn-client</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-common</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.4</version>
- </dependency>
- <dependency>
- <groupId>commons-net</groupId>
- <artifactId>commons-net</artifactId>
- <version>3.1</version>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.5</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.2.1</version>
- </dependency>
- <dependency>
- <groupId>commons-configuration</groupId>
- <artifactId>commons-configuration</artifactId>
- <version>1.6</version>
- </dependency>
-
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.2</version>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math</artifactId>
- <version>2.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.3</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpcore</artifactId>
- <version>4.3</version>
- <scope>compile</scope>
- </dependency>
</dependencies>
</project>
diff --git a/asterixdb/asterix-yarn/pom.xml b/asterixdb/asterix-yarn/pom.xml
index 1350f73..a9a4a36 100644
--- a/asterixdb/asterix-yarn/pom.xml
+++ b/asterixdb/asterix-yarn/pom.xml
@@ -196,13 +196,13 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.2.2</version>
+ <version>4.5.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
- <version>4.2.2</version>
+ <version>4.4.4</version>
<scope>compile</scope>
</dependency>
<dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-api/pom.xml b/hyracks-fullstack/hyracks/hyracks-api/pom.xml
index 5f625fb..acb0f1d 100644
--- a/hyracks-fullstack/hyracks/hyracks-api/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-api/pom.xml
@@ -67,7 +67,7 @@
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
- <version>4.3</version>
+ <version>4.5.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-server/pom.xml b/hyracks-fullstack/hyracks/hyracks-server/pom.xml
index 3e739e7..ed82438 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-server/pom.xml
@@ -147,9 +147,9 @@
<scope>compile</scope>
</dependency>
<dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>3.0.1</version>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
diff --git a/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/server/test/NCServiceIT.java b/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/server/test/NCServiceIT.java
index 3b40ea9..13607ad 100644
--- a/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/server/test/NCServiceIT.java
+++ b/hyracks-fullstack/hyracks/hyracks-server/src/test/java/org/apache/hyracks/server/test/NCServiceIT.java
@@ -18,11 +18,19 @@
*/
package org.apache.hyracks.server.test;
+import java.io.File;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.util.logging.Logger;
+
import junit.framework.Assert;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.lang3.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
import org.apache.hyracks.server.process.HyracksVirtualCluster;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -30,11 +38,6 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.File;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.util.logging.Logger;
-
public class NCServiceIT {
private static final String TARGET_DIR = StringUtils
@@ -86,16 +89,18 @@
}
private static String getHttp(String url) throws Exception {
- HttpClient client = new HttpClient();
- GetMethod get = new GetMethod(url);
+ HttpClient client = HttpClients.createDefault();
+ HttpGet get = new HttpGet(url);
int statusCode;
+ final HttpResponse httpResponse;
try {
- statusCode = client.executeMethod(get);
+ httpResponse = client.execute(get);
+ statusCode = httpResponse.getStatusLine().getStatusCode();
} catch (Exception e) {
e.printStackTrace();
throw e;
}
- String response = get.getResponseBodyAsString();
+ String response = EntityUtils.toString(httpResponse.getEntity());
if (statusCode == HttpStatus.SC_OK) {
return response;
} else {