You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by sj...@apache.org on 2014/09/22 17:21:20 UTC

[1/5] git commit: BrooklynGarbageCollector: tidy config key descriptions

Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master d829990f4 -> c249034b1


BrooklynGarbageCollector: tidy config key descriptions

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

Branch: refs/heads/master
Commit: 7e1b979bfb06168789ebb32bb482040b49e96bbc
Parents: 0f78a31
Author: Aled Sage <al...@gmail.com>
Authored: Mon Sep 22 07:22:41 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Sep 22 07:22:41 2014 +0100

----------------------------------------------------------------------
 .../brooklyn/management/internal/BrooklynGarbageCollector.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/7e1b979b/core/src/main/java/brooklyn/management/internal/BrooklynGarbageCollector.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/BrooklynGarbageCollector.java b/core/src/main/java/brooklyn/management/internal/BrooklynGarbageCollector.java
index a09477b..b345ab3 100644
--- a/core/src/main/java/brooklyn/management/internal/BrooklynGarbageCollector.java
+++ b/core/src/main/java/brooklyn/management/internal/BrooklynGarbageCollector.java
@@ -82,7 +82,7 @@ public class BrooklynGarbageCollector {
     private static final Logger LOG = LoggerFactory.getLogger(BrooklynGarbageCollector.class);
 
     public static final ConfigKey<Duration> GC_PERIOD = ConfigKeys.newDurationConfigKey(
-            "brooklyn.gc.period", "the period, in millisconds, for checking if any tasks need to be deleted", 
+            "brooklyn.gc.period", "the period for checking if any tasks need to be deleted", 
             Duration.minutes(1));
     
     public static final ConfigKey<Boolean> DO_SYSTEM_GC = ConfigKeys.newBooleanConfigKey(
@@ -124,7 +124,7 @@ public class BrooklynGarbageCollector {
 
     public static final ConfigKey<Duration> MAX_TASK_AGE = ConfigKeys.newDurationConfigKey(
             "brooklyn.gc.maxTaskAge", 
-            "the number of milliseconds after which a completed task will be automatically deleted", 
+            "the duration after which a completed task will be automatically deleted", 
             Duration.days(30));
     
     protected final static Comparator<Task<?>> TASKS_OLDEST_FIRST_COMPARATOR = new Comparator<Task<?>>() {


[2/5] git commit: BrooklynTaskTags tidy: adds checkNotNull

Posted by sj...@apache.org.
BrooklynTaskTags tidy: adds checkNotNull

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

Branch: refs/heads/master
Commit: 8480e36bdce1392fb06bea8d51e634be87ddda06
Parents: 7e1b979
Author: Aled Sage <al...@gmail.com>
Authored: Mon Sep 22 07:23:05 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Sep 22 07:23:05 2014 +0100

----------------------------------------------------------------------
 .../java/brooklyn/entity/basic/BrooklynTaskTags.java  | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8480e36b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
index fe573a7..c776e2a 100644
--- a/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
+++ b/core/src/main/java/brooklyn/entity/basic/BrooklynTaskTags.java
@@ -18,6 +18,8 @@
  */
 package brooklyn.entity.basic;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 import java.io.ByteArrayOutputStream;
 import java.util.Collection;
 import java.util.LinkedHashSet;
@@ -264,8 +266,8 @@ public class BrooklynTaskTags extends TaskTags {
         protected final String entityId;
         protected final String effectorName;
         protected EffectorCallTag(String entityId, String effectorName) {
-            this.entityId = entityId;
-            this.effectorName = effectorName;
+            this.entityId = checkNotNull(entityId, "entityId");
+            this.effectorName = checkNotNull(effectorName, "effectorName");
         }
         public String toString() {
             return EFFECTOR_TAG+"@"+entityId+":"+effectorName;
@@ -312,9 +314,9 @@ public class BrooklynTaskTags extends TaskTags {
                 for (Object tag: tags) {
                     if (tag instanceof EffectorCallTag) {
                         EffectorCallTag et = (EffectorCallTag)tag;
-                        if (entity!=null && !et.entityId.equals(entity.getId()))
+                        if (entity!=null && !et.getEntityId().equals(entity.getId()))
                             continue;
-                        if (effector!=null && !et.effectorName.equals(effector.getName()))
+                        if (effector!=null && !et.getEffectorName().equals(effector.getName()))
                             continue;
                         return true;
                     }
@@ -344,8 +346,6 @@ public class BrooklynTaskTags extends TaskTags {
     /** finds the first {@link EffectorCallTag} tag on this tag or a submitter, and returns the effector name */
     public static String getEffectorName(Task<?> task) {
         EffectorCallTag result = getEffectorCallTag(task, true);
-        if (result==null) return null;
-        return result.effectorName;
+        return (result == null) ? null : result.getEffectorName();
     }
-
 }


[3/5] git commit: Performance fix: persistence change-listener

Posted by sj...@apache.org.
Performance fix: persistence change-listener

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

Branch: refs/heads/master
Commit: c68bf8201884db046703c87c824638fb6a26a8f2
Parents: 8480e36
Author: Aled Sage <al...@gmail.com>
Authored: Mon Sep 22 12:24:06 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Sep 22 12:24:06 2014 +0100

----------------------------------------------------------------------
 .../rebind/PeriodicDeltaChangeListener.java     | 58 ++++++++++++++------
 1 file changed, 40 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/c68bf820/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
index 7613c2a..3b0cc73 100644
--- a/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
+++ b/core/src/main/java/brooklyn/entity/rebind/PeriodicDeltaChangeListener.java
@@ -18,6 +18,7 @@
  */
 package brooklyn.entity.rebind;
 
+import java.util.Collection;
 import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Semaphore;
@@ -203,6 +204,42 @@ public class PeriodicDeltaChangeListener implements ChangeListener {
         return stopped || executionManager.isShutdown();
     }
     
+    private void addReferencedObjects(DeltaCollector deltaCollector) {
+        Set<Location> referencedLocations = Sets.newLinkedHashSet();
+        Set<Policy> referencedPolicies = Sets.newLinkedHashSet();
+        Set<Enricher> referencedEnrichers = Sets.newLinkedHashSet();
+        
+        for (Entity entity : deltaCollector.entities) {
+            // FIXME How to let the policy/location tell us about changes? Don't do this every time!
+            for (Location location : entity.getLocations()) {
+                Collection<Location> findLocationsInHierarchy = TreeUtils.findLocationsInHierarchy(location);
+                referencedLocations.addAll(findLocationsInHierarchy);
+            }
+            if (persistPoliciesEnabled) {
+                referencedPolicies.addAll(entity.getPolicies());
+            }
+            if (persistEnrichersEnabled) {
+                referencedEnrichers.addAll(entity.getEnrichers());
+            }
+        }
+        
+        for (Location loc : referencedLocations) {
+            if (!deltaCollector.removedLocationIds.contains(loc.getId())) {
+                deltaCollector.locations.add(loc);
+            }
+        }
+        for (Policy pol : referencedPolicies) {
+            if (!deltaCollector.removedPolicyIds.contains(pol.getId())) {
+                deltaCollector.policies.add(pol);
+            }
+        }
+        for (Enricher enr : referencedEnrichers) {
+            if (!deltaCollector.removedEnricherIds.contains(enr.getId())) {
+                deltaCollector.enrichers.add(enr);
+            }
+        }
+    }
+    
     @VisibleForTesting
     public void persistNow() {
         if (!isActive()) return;
@@ -216,7 +253,8 @@ public class PeriodicDeltaChangeListener implements ChangeListener {
                 prevDeltaCollector = deltaCollector;
                 deltaCollector = new DeltaCollector();
             }
-
+            addReferencedObjects(prevDeltaCollector);
+            
             // Generate mementos for everything that has changed in this time period
             if (prevDeltaCollector.isEmpty()) {
                 if (LOG.isTraceEnabled()) LOG.trace("No changes to persist since last delta");
@@ -323,23 +361,7 @@ public class PeriodicDeltaChangeListener implements ChangeListener {
         if (LOG.isTraceEnabled()) LOG.trace("onChanged: {}", instance);
         if (!isStopped()) {
             if (instance instanceof Entity) {
-                Entity entity = (Entity) instance;
-                deltaCollector.entities.add(entity);
-
-                // FIXME How to let the policy/location tell us about changes? Don't do this every time!
-                for (Location location : entity.getLocations()) {
-                    deltaCollector.locations.addAll(TreeUtils.findLocationsInHierarchy(location));
-                }
-                if (persistPoliciesEnabled) {
-                    for (Policy policy : entity.getPolicies()) {
-                        deltaCollector.policies.add(policy);
-                    }
-                }
-                if (persistEnrichersEnabled) {
-                    for (Enricher enricher : entity.getEnrichers()) {
-                        deltaCollector.enrichers.add(enricher);
-                    }
-                }
+                deltaCollector.entities.add((Entity)instance);
             } else if (instance instanceof Location) {
                 deltaCollector.locations.add((Location) instance);
             } else if (instance instanceof Policy) {


[4/5] git commit: Performance fix: subscribeToChildren

Posted by sj...@apache.org.
Performance fix: subscribeToChildren

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

Branch: refs/heads/master
Commit: 7b661f815a46141ed51b1abfa4f8650d04efb61e
Parents: c68bf82
Author: Aled Sage <al...@gmail.com>
Authored: Mon Sep 22 12:24:23 2014 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Sep 22 12:24:23 2014 +0100

----------------------------------------------------------------------
 .../brooklyn/management/internal/AbstractSubscriptionManager.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/7b661f81/core/src/main/java/brooklyn/management/internal/AbstractSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/management/internal/AbstractSubscriptionManager.java b/core/src/main/java/brooklyn/management/internal/AbstractSubscriptionManager.java
index 86d8d6c..8b83d9e 100644
--- a/core/src/main/java/brooklyn/management/internal/AbstractSubscriptionManager.java
+++ b/core/src/main/java/brooklyn/management/internal/AbstractSubscriptionManager.java
@@ -112,7 +112,7 @@ public abstract class AbstractSubscriptionManager implements SubscriptionManager
     public final  <T> SubscriptionHandle subscribeToChildren(Map<String, Object> flags, final Entity parent, Sensor<T> sensor, SensorEventListener<? super T> listener) {
         Predicate<SensorEvent<T>> eventFilter = new Predicate<SensorEvent<T>>() {
             public boolean apply(SensorEvent<T> input) {
-                return parent.getChildren().contains(input.getSource());
+                return parent != null && input.getSource() != null && parent.equals(input.getSource().getParent());
             }
         };
         flags.put("eventFilter", eventFilter);


[5/5] git commit: This closes #183

Posted by sj...@apache.org.
This closes #183


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

Branch: refs/heads/master
Commit: c249034b19ee153b8fd24d05b76c2ad1c2560b99
Parents: d829990 7b661f8
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Mon Sep 22 16:17:21 2014 +0100
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Mon Sep 22 16:17:21 2014 +0100

----------------------------------------------------------------------
 .../brooklyn/entity/basic/BrooklynTaskTags.java | 14 ++---
 .../rebind/PeriodicDeltaChangeListener.java     | 58 ++++++++++++++------
 .../internal/AbstractSubscriptionManager.java   |  2 +-
 .../internal/BrooklynGarbageCollector.java      |  4 +-
 4 files changed, 50 insertions(+), 28 deletions(-)
----------------------------------------------------------------------