You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2015/03/29 04:31:31 UTC

[04/11] incubator-brooklyn git commit: Avoid err if unmanage entity twice

Avoid err if unmanage entity twice

- BrooklynNode unmanages itself on stop, and the BrooklynCluster
  (extends DynamicCluster) also unmanaged its members when shrinking.
- This was causing an error in EntityManagementSupport.onManagementStopped
  when checking if the value of mangaementContext was as expected.


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/8b3ecd7a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/8b3ecd7a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/8b3ecd7a

Branch: refs/heads/master
Commit: 8b3ecd7a643d8621d1ee79022593c804374174d5
Parents: ae59970
Author: Aled Sage <al...@gmail.com>
Authored: Tue Mar 10 13:41:11 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Mar 26 10:09:40 2015 +0000

----------------------------------------------------------------------
 .../management/internal/EntityManagementSupport.java   | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8b3ecd7a/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java b/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
index cdf21dc..7b59c83 100644
--- a/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
+++ b/core/src/main/java/brooklyn/management/internal/EntityManagementSupport.java
@@ -153,7 +153,7 @@ public class EntityManagementSupport {
     }
     
     public void onRebind(ManagementTransitionInfo info) {
-        nonDeploymentManagementContext.setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode.MANAGEMENT_REBINDING);
+        nonDeploymentManagementContext.setMode(NonDeploymentManagementContextMode.MANAGEMENT_REBINDING);
     }
     
     public void onManagementStarting(ManagementTransitionInfo info) {
@@ -177,7 +177,7 @@ public class EntityManagementSupport {
                 }
                 
                 this.managementContext = info.getManagementContext();
-                nonDeploymentManagementContext.setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode.MANAGEMENT_STARTING);
+                nonDeploymentManagementContext.setMode(NonDeploymentManagementContextMode.MANAGEMENT_STARTING);
                 
                 if (!isReadOnly()) {
                     nonDeploymentManagementContext.getSubscriptionManager().setDelegate((AbstractSubscriptionManager) managementContext.getSubscriptionManager());
@@ -230,7 +230,7 @@ public class EntityManagementSupport {
                     return;
                 }
                 
-                nonDeploymentManagementContext.setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode.MANAGEMENT_STARTED);
+                nonDeploymentManagementContext.setMode(NonDeploymentManagementContextMode.MANAGEMENT_STARTED);
                 
                 /*
                  * - set derived/inherited config values
@@ -291,7 +291,7 @@ public class EntityManagementSupport {
                 nonDeploymentManagementContext = new NonDeploymentManagementContext(entity, NonDeploymentManagementContextMode.MANAGEMENT_STOPPING);
             } else {
                 // already stopped? or not started?
-                nonDeploymentManagementContext.setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode.MANAGEMENT_STOPPING);
+                nonDeploymentManagementContext.setMode(NonDeploymentManagementContextMode.MANAGEMENT_STOPPING);
             }
         }
         // TODO custom stopping activities
@@ -315,6 +315,9 @@ public class EntityManagementSupport {
     
     public void onManagementStopped(ManagementTransitionInfo info) {
         synchronized (this) {
+            if (managementContext == null && nonDeploymentManagementContext.getMode() == NonDeploymentManagementContextMode.MANAGEMENT_STOPPED) {
+                return;
+            }
             if (managementContext != info.getManagementContext()) {
                 throw new IllegalStateException("Has different management context: "+managementContext+"; expected "+info.getManagementContext());
             }
@@ -331,7 +334,7 @@ public class EntityManagementSupport {
         
         synchronized (this) {
             managementContext = null;
-            nonDeploymentManagementContext.setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode.MANAGEMENT_STOPPED);
+            nonDeploymentManagementContext.setMode(NonDeploymentManagementContextMode.MANAGEMENT_STOPPED);
         }
     }