diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DefaultAMSProcessor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DefaultAMSProcessor.java index 5168bd3cf22..c87f4cd50a9 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DefaultAMSProcessor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/DefaultAMSProcessor.java @@ -381,9 +381,20 @@ private void handleProgress(ApplicationAttemptId appAttemptId, } // Send the status update to the appAttempt. + String trackingUrl = getTrackingUrl(request); getRmContext().getDispatcher().getEventHandler().handle( new RMAppAttemptStatusupdateEvent(appAttemptId, request - .getProgress(), request.getTrackingUrl())); + .getProgress(), trackingUrl)); + } + + private String getTrackingUrl(AllocateRequest request) { + String trackingUrl = null; + try { + trackingUrl = request.getTrackingUrl(); + } catch (NoSuchMethodError e) { + LOG.debug("request from old version of AM"); + } + return trackingUrl; } @Override