You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2014/12/18 12:41:54 UTC

[1/2] incubator-brooklyn git commit: BROOKLYN-101: avoid recordLocationEvent on rebind

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 0faf4d942 -> 8e65ab124


BROOKLYN-101: avoid recordLocationEvent on rebind

- Previously on rebind we would call recordLocationEvent, which would
  try to get `inferMachineDetails` over ssh in the rebind thread
  (taking a long time).
- Now we don’t recordLocationEvent or recordApplicationEvent on
  startup or shutdown.

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

Branch: refs/heads/master
Commit: 9447516ba1cdd78e13ded6867578330834ddd174
Parents: 39935ba
Author: Aled Sage <al...@gmail.com>
Authored: Tue Dec 9 23:24:49 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Tue Dec 9 23:24:49 2014 +0000

----------------------------------------------------------------------
 .../entity/basic/AbstractApplication.java       |  4 +++-
 .../entity/rebind/RebindManagerImpl.java        |  2 +-
 .../internal/LocalLocationManager.java          |  6 ++++-
 .../internal/ManagementTransitionInfo.java      | 25 ++++++++++++--------
 4 files changed, 24 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9447516b/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java b/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
index 9032aac..a9b94bf 100644
--- a/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
+++ b/core/src/main/java/brooklyn/entity/basic/AbstractApplication.java
@@ -239,7 +239,9 @@ public abstract class AbstractApplication extends AbstractEntity implements Star
     @Override
     public void onManagementStopped() {
         super.onManagementStopped();
-        recordApplicationEvent(Lifecycle.DESTROYED);
+        if (getManagementContext().isRunning()) {
+            recordApplicationEvent(Lifecycle.DESTROYED);
+        }
     }
     
     private void recordApplicationEvent(Lifecycle state) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9447516b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
index f53f93a..55d87f4 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
@@ -1133,7 +1133,7 @@ public class RebindManagerImpl implements RebindManager {
         if (wasReadOnly==null) {
             // not known
             if (Boolean.TRUE.equals(isNowReadOnly)) return ManagementTransitionMode.REBINDING_READONLY;
-            else return ManagementTransitionMode.CREATING;
+            else return ManagementTransitionMode.REBINDING_CREATING;
         } else {
             if (wasReadOnly && isNowReadOnly)
                 return ManagementTransitionMode.REBINDING_READONLY;

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9447516b/core/src/main/java/brooklyn/management/internal/LocalLocationManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/LocalLocationManager.java b/core/src/main/java/brooklyn/management/internal/LocalLocationManager.java
index 8a95808..b873363 100644
--- a/core/src/main/java/brooklyn/management/internal/LocalLocationManager.java
+++ b/core/src/main/java/brooklyn/management/internal/LocalLocationManager.java
@@ -244,7 +244,11 @@ public class LocalLocationManager implements LocationManagerInternal {
                 it.setManagementContext(managementContext);
                 if (!mode.isReadOnly()) {
                     it.onManagementStarted();
-                    if (!mode.wasReadOnly()) {
+                    if (!mode.wasReadOnly() && !mode.isRebinding()) {
+                        // Never record event on rebind; this isn't the location (e.g. the VM) being "created"
+                        // so don't tell listeners that.
+                        // TODO The location-event history should be persisted; currently it is lost on
+                        // rebind, unless there is a listener that is persisting the state externally itself.
                         recordLocationEvent(it, Lifecycle.CREATED);
                     }
                 }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/9447516b/core/src/main/java/brooklyn/management/internal/ManagementTransitionInfo.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/ManagementTransitionInfo.java b/core/src/main/java/brooklyn/management/internal/ManagementTransitionInfo.java
index 06cd2e4..6d27fed 100644
--- a/core/src/main/java/brooklyn/management/internal/ManagementTransitionInfo.java
+++ b/core/src/main/java/brooklyn/management/internal/ManagementTransitionInfo.java
@@ -32,29 +32,34 @@ public class ManagementTransitionInfo {
 
     public enum ManagementTransitionMode {
         /** Item is being created fresh, for the first time */ 
-        CREATING(false, false),
+        CREATING(false, false, false),
         /** Item is being destroyed / stopping permanently */ 
-        DESTROYING(false, false),
+        DESTROYING(false, false, false),
         
         /** Item is being mirrored (or refreshed) here from a serialized/specified state */
-        REBINDING_READONLY(true, true),
+        REBINDING_READONLY(true, true, true),
         /** Item management is stopping here, going elsewhere */
-        REBINDING_NO_LONGER_PRIMARY(false, true), 
+        REBINDING_NO_LONGER_PRIMARY(false, true, true), 
         /** Item management is starting here, having previously been running elsewhere */
-        REBINDING_BECOMING_PRIMARY(true, false),
+        REBINDING_BECOMING_PRIMARY(true, false, true),
         /** Item was being mirrored but has now been destroyed  */
-        REBINDING_DESTROYED(true, true);
+        REBINDING_DESTROYED(true, true, true),
+        /** Item management is starting here, where not sure what previous running state was */
+        REBINDING_CREATING(false, false, true);
         
-        private boolean wasReadOnly;
-        private boolean isReadOnly;
-
-        ManagementTransitionMode(boolean wasReadOnly, boolean isReadOnly) {
+        private final boolean wasReadOnly;
+        private final boolean isReadOnly;
+        private final boolean isRebinding;
+        
+        ManagementTransitionMode(boolean wasReadOnly, boolean isReadOnly, boolean isRebinding) {
             this.wasReadOnly = wasReadOnly;
             this.isReadOnly = isReadOnly;
+            this.isRebinding = isRebinding;
         }
         
         public boolean wasReadOnly() { return wasReadOnly; }
         public boolean isReadOnly() { return isReadOnly; }
+        public boolean isRebinding() { return isRebinding; }
     }
     
     public ManagementTransitionInfo(ManagementContext mgmtContext, ManagementTransitionMode mode) {


[2/2] incubator-brooklyn git commit: This closes #382

Posted by al...@apache.org.
This closes #382


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

Branch: refs/heads/master
Commit: 8e65ab124357d5ee10264754b6d52b412fde599a
Parents: 0faf4d9 9447516
Author: Aled Sage <al...@gmail.com>
Authored: Thu Dec 18 11:40:26 2014 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Dec 18 11:40:26 2014 +0000

----------------------------------------------------------------------
 .../entity/basic/AbstractApplication.java       |  4 +++-
 .../entity/rebind/RebindManagerImpl.java        |  2 +-
 .../internal/LocalLocationManager.java          |  6 ++++-
 .../internal/ManagementTransitionInfo.java      | 25 ++++++++++++--------
 4 files changed, 24 insertions(+), 13 deletions(-)
----------------------------------------------------------------------