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(-)
----------------------------------------------------------------------