Return-Path: X-Original-To: apmail-brooklyn-commits-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D9F3F17B1C for ; Thu, 19 Mar 2015 14:07:45 +0000 (UTC) Received: (qmail 17645 invoked by uid 500); 19 Mar 2015 14:07:45 -0000 Delivered-To: apmail-brooklyn-commits-archive@brooklyn.apache.org Received: (qmail 17618 invoked by uid 500); 19 Mar 2015 14:07:45 -0000 Mailing-List: contact commits-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list commits@brooklyn.incubator.apache.org Received: (qmail 17609 invoked by uid 99); 19 Mar 2015 14:07:45 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2015 14:07:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 19 Mar 2015 14:07:22 +0000 Received: (qmail 15621 invoked by uid 99); 19 Mar 2015 14:07:19 -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 Mar 2015 14:07:19 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 5C4A2E1918; Thu, 19 Mar 2015 14:07:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aledsage@apache.org To: commits@brooklyn.incubator.apache.org Date: Thu, 19 Mar 2015 14:07:20 -0000 Message-Id: <572356ddfdf34e1b9aec2eda6a0c0cb4@git.apache.org> In-Reply-To: <89d0ca2644974406914bdeda4c19c411@git.apache.org> References: <89d0ca2644974406914bdeda4c19c411@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [02/19] incubator-brooklyn git commit: Shutdown BrooklynNode gracefully on restart X-Virus-Checked: Checked by ClamAV on apache.org Shutdown BrooklynNode gracefully on restart Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/de5b8d5a Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/de5b8d5a Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/de5b8d5a Branch: refs/heads/master Commit: de5b8d5afbe842857976886ee47489e0b69110ad Parents: d3beb51 Author: Svetoslav Neykov Authored: Fri Feb 27 12:54:21 2015 +0200 Committer: Svetoslav Neykov Committed: Thu Mar 19 16:01:28 2015 +0200 ---------------------------------------------------------------------- .../entity/brooklynnode/BrooklynNodeImpl.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/de5b8d5a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java ---------------------------------------------------------------------- diff --git a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java index 20dc032..3827971 100644 --- a/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java +++ b/software/base/src/main/java/brooklyn/entity/brooklynnode/BrooklynNodeImpl.java @@ -40,6 +40,7 @@ import brooklyn.entity.basic.Entities; import brooklyn.entity.basic.Lifecycle; import brooklyn.entity.basic.ServiceStateLogic; import brooklyn.entity.basic.ServiceStateLogic.ServiceNotUpLogic; +import brooklyn.entity.basic.SoftwareProcess.StopSoftwareParameters.StopMode; import brooklyn.entity.basic.SoftwareProcessImpl; import brooklyn.entity.brooklynnode.effector.BrooklynNodeUpgradeEffectorBody; import brooklyn.entity.brooklynnode.effector.SetHighAvailabilityModeEffectorBody; @@ -154,17 +155,30 @@ public class BrooklynNodeImpl extends SoftwareProcessImpl implements BrooklynNod @Override protected void preStop() { super.preStop(); + shutdownGracefully(); + } + + @Override + protected void preRestart() { + super.preRestart(); + shutdownGracefully(); + DynamicTasks.queue("post-shutdown", new Runnable() { public void run() { + //set by shutdown - clear it so the entity starts cleanly. Does the indicator bring any value at all? + ServiceNotUpLogic.clearNotUpIndicator(BrooklynNodeImpl.this, SHUTDOWN.getName()); + }}); + } + private void shutdownGracefully() { // Shutdown only if accessible: any of stop_* could have already been called. // Don't check serviceUp=true because stop() will already have set serviceUp=false && expectedState=stopping if (Boolean.TRUE.equals(getAttribute(BrooklynNode.WEB_CONSOLE_ACCESSIBLE))) { queueShutdownTask(); queueWaitExitTask(); } else { - log.info("Skipping children.isEmpty check and shutdown call, because web-console not up for {}", this); + log.info("Skipping graceful shutdown call, because web-console not up for {}", this); } } - + private void queueWaitExitTask() { //give time to the process to die gracefully after closing the shutdown call DynamicTasks.queue(Tasks.builder().name("wait for graceful stop").body(new Runnable() {