소스 검색

MAPREDUCE-3114. Fixed invalid ApplicationURL on RM WebUI. Contributed by Subroto Sanyal.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1177187 13f79535-47bb-0310-9956-ffa450edef68
Vinod Kumar Vavilapalli 13 년 전
부모
커밋
44090734c9

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -1472,6 +1472,9 @@ Release 0.23.0 - Unreleased
     MAPREDUCE-3078. Ensure MapReduce AM reports progress correctly for
     displaying on the RM Web-UI. (vinodkv via acmurthy)
 
+    MAPREDUCE-3114. Fixed invalid ApplicationURL on RM WebUI. (Subroto Sanyal
+    via vinodkv)
+
 Release 0.22.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 3 - 2
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/AppsBlock.java

@@ -60,7 +60,7 @@ class AppsBlock extends HtmlBlock {
       String trackingUrl = app.getTrackingUrl();
       String ui = trackingUrl == null || trackingUrl.isEmpty() ? "UNASSIGNED" :
           (app.getFinishTime() == 0 ? 
-              "ApplicationMaster URL" : "JobHistory URL");
+              "ApplicationMaster" : "History");
       String percent = String.format("%.1f", app.getProgress() * 100);
       tbody.
         tr().
@@ -79,7 +79,8 @@ class AppsBlock extends HtmlBlock {
               div(_PROGRESSBAR_VALUE).
                 $style(join("width:", percent, '%'))._()._()._().
           td().
-            a(trackingUrl == null ? "#" : join("http://", trackingUrl), ui)._().
+            a(trackingUrl == null || trackingUrl.isEmpty() || "N/A".equalsIgnoreCase(trackingUrl) ?
+              "#" : join("http://", trackingUrl), ui)._().
           td(app.getDiagnostics().toString())._();
       if (list.rendering != Render.HTML && ++i >= 20) break;
     }

+ 4 - 3
hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/AppsList.java

@@ -62,8 +62,8 @@ class AppsList implements ToJSON {
       }
       String appID = app.getApplicationId().toString();
       String trackingUrl = app.getTrackingUrl();
-      String ui = trackingUrl == null ? "UNASSIGNED" :
-          (app.getFinishTime() == 0 ? "ApplicationMaster" : "JobHistory");
+      String ui = trackingUrl == null || trackingUrl.isEmpty() || "N/A".equalsIgnoreCase(trackingUrl) ?
+    	  "UNASSIGNED" : (app.getFinishTime() == 0 ? "ApplicationMaster" : "JobHistory");
       out.append("[\"");
       appendSortable(out, app.getApplicationId().getId());
       appendLink(out, appID, rc.prefix(), "app", appID).append(_SEP).
@@ -73,7 +73,8 @@ class AppsList implements ToJSON {
           append(app.getState().toString()).append(_SEP);
       appendProgressBar(out, app.getProgress()).append(_SEP);
       appendLink(out, ui, rc.prefix(),
-                 trackingUrl == null ? "#" : "http://", trackingUrl).
+          trackingUrl == null  || trackingUrl.isEmpty() || "N/A".equalsIgnoreCase(trackingUrl) ?
+            "#" : "http://", trackingUrl).
           append(_SEP).append(escapeJavaScript(escapeHtml(
                               app.getDiagnostics().toString()))).
           append("\"]");