You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/10/04 08:54:17 UTC

[23/31] kylin git commit: minor, retry when http failed in job diagnosis

minor, retry when http failed in job diagnosis


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1e049817
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1e049817
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1e049817

Branch: refs/heads/master-cdh5.7
Commit: 1e049817856ede06c7c8736ad1d608765f301a21
Parents: 51b5b31
Author: lidongsjtu <li...@apache.org>
Authored: Thu Sep 29 09:48:58 2016 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Thu Sep 29 15:34:25 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java     | 4 ++--
 .../java/org/apache/kylin/tool/JobTaskCounterExtractor.java | 9 +++++++--
 2 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/1e049817/tool/src/main/java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java b/tool/src/main/java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java
index 635a2c3..c8ff1f4 100644
--- a/tool/src/main/java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java
+++ b/tool/src/main/java/org/apache/kylin/tool/JobDiagnosisInfoCLI.java
@@ -99,8 +99,8 @@ public class JobDiagnosisInfoCLI extends AbstractInfoExtractor {
         addRequired(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + jobId);
         addRequired(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + jobId);
         for (ExecutablePO task : executablePO.getTasks()) {
-            addRequired(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + executablePO.getTasks());
-            addRequired(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + executablePO.getTasks());
+            addRequired(ResourceStore.EXECUTE_RESOURCE_ROOT + "/" + task.getUuid());
+            addRequired(ResourceStore.EXECUTE_OUTPUT_RESOURCE_ROOT + "/" + task.getUuid());
             if (includeYarnLogs) {
                 yarnLogsResources.add(task.getUuid());
             }

http://git-wip-us.apache.org/repos/asf/kylin/blob/1e049817/tool/src/main/java/org/apache/kylin/tool/JobTaskCounterExtractor.java
----------------------------------------------------------------------
diff --git a/tool/src/main/java/org/apache/kylin/tool/JobTaskCounterExtractor.java b/tool/src/main/java/org/apache/kylin/tool/JobTaskCounterExtractor.java
index 7b9d8f3..6a317e9 100644
--- a/tool/src/main/java/org/apache/kylin/tool/JobTaskCounterExtractor.java
+++ b/tool/src/main/java/org/apache/kylin/tool/JobTaskCounterExtractor.java
@@ -47,6 +47,8 @@ public class JobTaskCounterExtractor extends AbstractInfoExtractor {
     private String yarnUrl;
     private static final Logger logger = LoggerFactory.getLogger(JobTaskCounterExtractor.class);
 
+    private final int HTTP_RETRY = 3;
+
     public JobTaskCounterExtractor(String mrJobId) {
         this.mrJobId = mrJobId;
         this.yarnUrl = getRestCheckUrl();
@@ -87,14 +89,17 @@ public class JobTaskCounterExtractor extends AbstractInfoExtractor {
     private String getHttpResponse(String url) {
         HttpClient client = new HttpClient();
         String response = null;
-        while (response == null) {
+        int retry_times = 0;
+        while (response == null && retry_times < HTTP_RETRY) {
+            retry_times++;
+
             HttpMethod get = new GetMethod(url);
             try {
                 get.addRequestHeader("accept", "application/json");
                 client.executeMethod(get);
                 response = get.getResponseBodyAsString();
             } catch (Exception e) {
-                logger.warn("Failed to fetch http response" + e);
+                logger.warn("Failed to fetch http response. Retry={}", retry_times, e);
             } finally {
                 get.releaseConnection();
             }