Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 7FB222009D9 for ; Thu, 19 May 2016 18:52:42 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7E627160A05; Thu, 19 May 2016 16:52:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A06171609AE for ; Thu, 19 May 2016 18:52:41 +0200 (CEST) Received: (qmail 22198 invoked by uid 500); 19 May 2016 16:52:40 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 22189 invoked by uid 99); 19 May 2016 16:52:40 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 May 2016 16:52:40 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 889B0DFB7A; Thu, 19 May 2016 16:52:40 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: junping_du@apache.org To: common-commits@hadoop.apache.org Message-Id: <1f7244358ab4427bbf4d29f2a1282bcc@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: YARN-5100. The YarnApplicationState is always running in ATS even application is finished. Contributed by Xuan Gong. (cherry picked from commit 141873ca7d68619e3458712b17aed57fec8fd7c8) (cherry picked from commit 416274b53eefb76cf9d3dc Date: Thu, 19 May 2016 16:52:40 +0000 (UTC) archived-at: Thu, 19 May 2016 16:52:42 -0000 Repository: hadoop Updated Branches: refs/heads/branch-2.8 7a001ae19 -> c8843cac0 YARN-5100. The YarnApplicationState is always running in ATS even application is finished. Contributed by Xuan Gong. (cherry picked from commit 141873ca7d68619e3458712b17aed57fec8fd7c8) (cherry picked from commit 416274b53eefb76cf9d3dc2992d3e22b304c321e) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/c8843cac Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/c8843cac Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/c8843cac Branch: refs/heads/branch-2.8 Commit: c8843cac03b8eba2d7b0b9fde8caffff66dfc499 Parents: 7a001ae Author: Junping Du Authored: Thu May 19 09:13:29 2016 -0700 Committer: Junping Du Committed: Thu May 19 09:54:03 2016 -0700 ---------------------------------------------------------------------- .../ApplicationHistoryManagerOnTimelineStore.java | 15 +++++++++++++-- ...TestApplicationHistoryManagerOnTimelineStore.java | 12 ++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/c8843cac/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java index 51e2356..aedf6f6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java @@ -358,6 +358,9 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService createdTime = event.getTimestamp(); } else if (event.getEventType().equals( ApplicationMetricsConstants.UPDATED_EVENT_TYPE)) { + // TODO: YARN-5101. This type of events are parsed in + // time-stamp descending order which means the previous event + // could override the information from the later same type of event. Map eventInfo = event.getEventInfo(); if (eventInfo == null) { continue; @@ -376,8 +379,10 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService } if (eventInfo.containsKey( ApplicationMetricsConstants.STATE_EVENT_INFO)) { - state = YarnApplicationState.valueOf(eventInfo.get( - ApplicationMetricsConstants.STATE_EVENT_INFO).toString()); + if (!isFinalState(state)) { + state = YarnApplicationState.valueOf(eventInfo.get( + ApplicationMetricsConstants.STATE_EVENT_INFO).toString()); + } } } else if (event.getEventType().equals( ApplicationMetricsConstants.FINISHED_EVENT_TYPE)) { @@ -429,6 +434,12 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService amNodeLabelExpression), appViewACLs); } + private static boolean isFinalState(YarnApplicationState state) { + return state == YarnApplicationState.FINISHED + || state == YarnApplicationState.FAILED + || state == YarnApplicationState.KILLED; + } + private static ApplicationAttemptReport convertToApplicationAttemptReport( TimelineEntity entity) { String host = null; http://git-wip-us.apache.org/repos/asf/hadoop/blob/c8843cac/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java index 3c97584..b65b22b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryManagerOnTimelineStore.java @@ -537,6 +537,18 @@ public class TestApplicationHistoryManagerOnTimelineStore { } tEvent.setEventInfo(eventInfo); entity.addEvent(tEvent); + // send a YARN_APPLICATION_STATE_UPDATED event + // after YARN_APPLICATION_FINISHED + // The final YarnApplicationState should not be changed + tEvent = new TimelineEvent(); + tEvent.setEventType( + ApplicationMetricsConstants.STATE_UPDATED_EVENT_TYPE); + tEvent.setTimestamp(Integer.MAX_VALUE + 4L + appId.getId()); + eventInfo = new HashMap(); + eventInfo.put(ApplicationMetricsConstants.STATE_EVENT_INFO, + YarnApplicationState.KILLED); + tEvent.setEventInfo(eventInfo); + entity.addEvent(tEvent); if (enableUpdateEvent) { tEvent = new TimelineEvent(); createAppModifiedEvent(appId, tEvent, "changed queue", 5); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org