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 4B464200CD8 for ; Wed, 19 Jul 2017 07:48:47 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4997B1682B8; Wed, 19 Jul 2017 05:48:47 +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 41E491682B7 for ; Wed, 19 Jul 2017 07:48:46 +0200 (CEST) Received: (qmail 14076 invoked by uid 500); 19 Jul 2017 05:48:45 -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 14066 invoked by uid 99); 19 Jul 2017 05:48:45 -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; Wed, 19 Jul 2017 05:48:45 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 38795E8E6B; Wed, 19 Jul 2017 05:48:43 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rohithsharmaks@apache.org To: common-commits@hadoop.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: YARN-6819. Application report fails if app rejected due to nodesize. Contributed by Bibin A Chundatt. Date: Wed, 19 Jul 2017 05:48:43 +0000 (UTC) archived-at: Wed, 19 Jul 2017 05:48:47 -0000 Repository: hadoop Updated Branches: refs/heads/branch-2 d04bb465d -> f806e8627 YARN-6819. Application report fails if app rejected due to nodesize. Contributed by Bibin A Chundatt. (cherry picked from commit 845c4e52bdd579a24df5dbba7477b0ebf2fa16f1) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f806e862 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f806e862 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f806e862 Branch: refs/heads/branch-2 Commit: f806e8627bbc94e1e79f8bb953f2252448fc4704 Parents: d04bb46 Author: Rohith Sharma K S Authored: Wed Jul 19 11:10:52 2017 +0530 Committer: Rohith Sharma K S Committed: Wed Jul 19 11:16:17 2017 +0530 ---------------------------------------------------------------------- .../resourcemanager/recovery/RMStateStore.java | 5 ++-- .../resourcemanager/rmapp/RMAppEvent.java | 24 -------------------- .../resourcemanager/rmapp/RMAppEventType.java | 1 + .../server/resourcemanager/rmapp/RMAppImpl.java | 8 +++---- .../recovery/TestZKRMStateStore.java | 14 +++++++----- .../rmapp/TestRMAppTransitions.java | 17 ++++++++++++++ 6 files changed, 33 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java index e945b59..d0a8cf5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/RMStateStore.java @@ -221,8 +221,9 @@ public abstract class RMStateStore extends AbstractService { } catch (Exception e) { LOG.error("Error storing app: " + appId, e); if (e instanceof StoreLimitException) { - store.notifyApplication(new RMAppEvent(appId, - RMAppEventType.APP_REJECTED, e.getMessage(), false)); + store.notifyApplication( + new RMAppEvent(appId, RMAppEventType.APP_SAVE_FAILED, + e.getMessage())); } else { isFenced = store.notifyStoreOperationFailedInternal(e); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEvent.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEvent.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEvent.java index 0c6139e..5c46945 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEvent.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEvent.java @@ -25,7 +25,6 @@ public class RMAppEvent extends AbstractEvent{ private final ApplicationId appId; private final String diagnosticMsg; - private boolean storeAppInfo; public RMAppEvent(ApplicationId appId, RMAppEventType type) { this(appId, type, ""); @@ -36,21 +35,6 @@ public class RMAppEvent extends AbstractEvent{ super(type); this.appId = appId; this.diagnosticMsg = diagnostic; - this.storeAppInfo = true; - } - - /** - * Constructor to create RM Application Event type. - * - * @param appId application Id - * @param type RM Event type - * @param diagnostic Diagnostic message for event - * @param storeApp Application should be saved or not - */ - public RMAppEvent(ApplicationId appId, RMAppEventType type, String diagnostic, - boolean storeApp) { - this(appId, type, diagnostic); - this.storeAppInfo = storeApp; } public ApplicationId getApplicationId() { @@ -61,12 +45,4 @@ public class RMAppEvent extends AbstractEvent{ return this.diagnosticMsg; } - /** - * Store application to state store or not. - * - * @return boolean application should be saved to store. - */ - public boolean doStoreAppInfo() { - return storeAppInfo; - } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEventType.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEventType.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEventType.java index 37e13a4..514efd4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEventType.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppEventType.java @@ -44,4 +44,5 @@ public enum RMAppEventType { // Source: RMStateStore APP_NEW_SAVED, APP_UPDATE_SAVED, + APP_SAVE_FAILED, } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java index 56ac0eb..ab55dfe 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java @@ -241,6 +241,8 @@ public class RMAppImpl implements RMApp, Recoverable { RMAppEventType.APP_REJECTED, new FinalSavingTransition(new AppRejectedTransition(), RMAppState.FAILED)) + .addTransition(RMAppState.NEW_SAVING, RMAppState.FAILED, + RMAppEventType.APP_SAVE_FAILED, new AppRejectedTransition()) // Transitions from SUBMITTED state .addTransition(RMAppState.SUBMITTED, RMAppState.SUBMITTED, @@ -1256,10 +1258,8 @@ public class RMAppImpl implements RMApp, Recoverable { @Override public void transition(RMAppImpl app, RMAppEvent event) { - if (event.doStoreAppInfo()) { - app.rememberTargetTransitionsAndStoreState(event, transitionToDo, - targetedFinalState, stateToBeStored); - } + app.rememberTargetTransitionsAndStoreState(event, transitionToDo, + targetedFinalState, stateToBeStored); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java index 8b8b2fd..acfc60d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestZKRMStateStore.java @@ -269,20 +269,22 @@ public class TestZKRMStateStore extends RMStateStoreTestBase { GenericTestUtils.waitFor(new Supplier() { @Override public Boolean get() { - return dispatcher.apprejectedEvnt; + return dispatcher.appsavefailedEvnt; } }, 100, 5000); } static class TestAppRejDispatcher extends TestDispatcher { - private boolean apprejectedEvnt; + private boolean appsavefailedEvnt; public void handle(Event event) { - if (event instanceof RMAppEvent - && event.getType().equals(RMAppEventType.APP_REJECTED)) { - apprejectedEvnt = true; + if (event instanceof RMAppEvent && event.getType() + .equals(RMAppEventType.APP_SAVE_FAILED)) { + appsavefailedEvnt = true; } - }; + } + + ; } @Test (timeout = 60000) http://git-wip-us.apache.org/repos/asf/hadoop/blob/f806e862/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java index 1ec9510..36375d0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java @@ -649,6 +649,23 @@ public class TestRMAppTransitions { } @Test (timeout = 30000) + public void testAppNewSavingSaveReject() throws IOException { + LOG.info("--- START: testAppNewSavingSaveReject ---"); + RMApp application = testCreateAppNewSaving(null); + // NEW_SAVING => FAILED event RMAppEventType.APP_SAVE_FAILED + String rejectedText = "Test Application Rejected"; + RMAppEvent event = new RMAppEvent(application.getApplicationId(), + RMAppEventType.APP_SAVE_FAILED, rejectedText); + application.handle(event); + rmDispatcher.await(); + assertFailed(application, rejectedText); + verify(store, times(0)).updateApplicationState( + any(ApplicationStateData.class)); + verifyApplicationFinished(RMAppState.FAILED); + assertTimesAtFinish(application); + } + + @Test (timeout = 30000) public void testAppSubmittedRejected() throws IOException { LOG.info("--- START: testAppSubmittedRejected ---"); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org