You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by bo...@apache.org on 2018/05/29 18:10:42 UTC
[04/50] [abbrv] hadoop git commit: YARN-8336. Fix potential
connection leak in SchedConfCLI and YarnWebServiceUtils. Contributed by
Giovanni Matteo Fumarola.
YARN-8336. Fix potential connection leak in SchedConfCLI and YarnWebServiceUtils. Contributed by Giovanni Matteo Fumarola.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/e30938af
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/e30938af
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/e30938af
Branch: refs/heads/YARN-7402
Commit: e30938af1270e079587e7bc06b755f9e93e660a5
Parents: c13dea8
Author: Inigo Goiri <in...@apache.org>
Authored: Wed May 23 11:55:31 2018 -0700
Committer: Inigo Goiri <in...@apache.org>
Committed: Wed May 23 11:55:31 2018 -0700
----------------------------------------------------------------------
.../hadoop/yarn/client/cli/SchedConfCLI.java | 42 ++++++++++++--------
.../yarn/webapp/util/YarnWebServiceUtils.java | 17 +++++---
2 files changed, 38 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e30938af/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/SchedConfCLI.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/SchedConfCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/SchedConfCLI.java
index 11bfdd7..a5f3b80 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/SchedConfCLI.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/SchedConfCLI.java
@@ -132,25 +132,35 @@ public class SchedConfCLI extends Configured implements Tool {
}
Client webServiceClient = Client.create();
- WebResource webResource = webServiceClient.resource(WebAppUtils.
- getRMWebAppURLWithScheme(getConf()));
- ClientResponse response = webResource.path("ws").path("v1").path("cluster")
- .path("scheduler-conf").accept(MediaType.APPLICATION_JSON)
- .entity(YarnWebServiceUtils.toJson(updateInfo,
- SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
- .put(ClientResponse.class);
- if (response != null) {
- if (response.getStatus() == Status.OK.getStatusCode()) {
- System.out.println("Configuration changed successfully.");
- return 0;
+ WebResource webResource = webServiceClient
+ .resource(WebAppUtils.getRMWebAppURLWithScheme(getConf()));
+ ClientResponse response = null;
+
+ try {
+ response =
+ webResource.path("ws").path("v1").path("cluster")
+ .path("scheduler-conf").accept(MediaType.APPLICATION_JSON)
+ .entity(YarnWebServiceUtils.toJson(updateInfo,
+ SchedConfUpdateInfo.class), MediaType.APPLICATION_JSON)
+ .put(ClientResponse.class);
+ if (response != null) {
+ if (response.getStatus() == Status.OK.getStatusCode()) {
+ System.out.println("Configuration changed successfully.");
+ return 0;
+ } else {
+ System.err.println("Configuration change unsuccessful: "
+ + response.getEntity(String.class));
+ }
} else {
- System.err.println("Configuration change unsuccessful: "
- + response.getEntity(String.class));
+ System.err.println("Configuration change unsuccessful: null response");
}
- } else {
- System.err.println("Configuration change unsuccessful: null response");
+ return -1;
+ } finally {
+ if (response != null) {
+ response.close();
+ }
+ webServiceClient.destroy();
}
- return -1;
}
@VisibleForTesting
http://git-wip-us.apache.org/repos/asf/hadoop/blob/e30938af/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/YarnWebServiceUtils.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/YarnWebServiceUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/YarnWebServiceUtils.java
index 1cf1e97..e7bca2c 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/YarnWebServiceUtils.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/YarnWebServiceUtils.java
@@ -58,11 +58,18 @@ public final class YarnWebServiceUtils {
WebResource webResource = webServiceClient.resource(webAppAddress);
- ClientResponse response = webResource.path("ws").path("v1")
- .path("cluster").path("nodes")
- .path(nodeId).accept(MediaType.APPLICATION_JSON)
- .get(ClientResponse.class);
- return response.getEntity(JSONObject.class);
+ ClientResponse response = null;
+ try {
+ response = webResource.path("ws").path("v1").path("cluster")
+ .path("nodes").path(nodeId).accept(MediaType.APPLICATION_JSON)
+ .get(ClientResponse.class);
+ return response.getEntity(JSONObject.class);
+ } finally {
+ if (response != null) {
+ response.close();
+ }
+ webServiceClient.destroy();
+ }
}
@SuppressWarnings("rawtypes")
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org