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);
}
}