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 2014/07/29 21:32:07 UTC

[12/31] git commit: don't block rebind just because a group can't rescan his elements; it may be referencing an entity which has gone away

don't block rebind just because a group can't rescan his elements; it may be referencing an entity which has gone away


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

Branch: refs/heads/master
Commit: 34118815866f016b2a5a0a2161ba9e617c933452
Parents: 254a6f7
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Jul 23 13:05:57 2014 -0700
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue Jul 29 10:42:07 2014 -0400

----------------------------------------------------------------------
 .../main/java/brooklyn/entity/basic/DynamicGroupImpl.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/34118815/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java b/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
index 11544eb..2f4d7a3 100644
--- a/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
+++ b/core/src/main/java/brooklyn/entity/basic/DynamicGroupImpl.java
@@ -33,6 +33,7 @@ import brooklyn.event.SensorEventListener;
 import brooklyn.management.internal.CollectionChangeListener;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.GroovyJavaMethods;
+import brooklyn.util.exceptions.Exceptions;
 
 import com.google.common.base.Predicate;
 import com.google.common.base.Predicates;
@@ -160,7 +161,13 @@ public class DynamicGroupImpl extends AbstractGroupImpl implements DynamicGroup
         }
         setChangeListener = new MyEntitySetChangeListener();
         ((ManagementContextInternal) getManagementContext()).addEntitySetListener(setChangeListener);
-        rescanEntities();
+        try {
+            rescanEntities();
+        } catch (Exception e) {
+            log.warn("Error rescanning entities when rebinding; may be a group set against an unknown entity: "+e);
+            log.debug("Trace for rescan entities error", e);
+            Exceptions.propagateIfFatal(e);
+        }
     }
 
     @Override