Fix missing sensor and always remove node after leaving

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

Branch: refs/heads/master
Commit: 1e67a52b97f53008992e07e157b850e96d612198
Parents: af5b64f
Author: Andrew Kennedy <[email protected]>
Authored: Thu Mar 26 14:15:31 2015 +0000
Committer: Andrew Kennedy <[email protected]>
Committed: Thu Mar 26 14:15:31 2015 +0000

----------------------------------------------------------------------
 .../main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java   | 4 ++--
 .../src/main/java/brooklyn/entity/nosql/riak/RiakNode.java      | 5 +----
 .../src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java  | 4 +++-
 3 files changed, 6 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1e67a52b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
----------------------------------------------------------------------
diff --git 
a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java 
b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
index 9fff98d..386815d 100644
--- 
a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
+++ 
b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakClusterImpl.java
@@ -165,12 +165,12 @@ public class RiakClusterImpl extends DynamicClusterImpl 
implements RiakCluster {
                 }
             } else {
                 if (nodes != null && nodes.containsKey(member)) {
-                    boolean timeout = 
DependentConfiguration.attributeWhenReady(member, 
RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER, 
Predicates.equalTo(false)).blockUntilEnded(Duration.TWO_MINUTES);
+                    DependentConfiguration.attributeWhenReady(member, 
RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER, 
Predicates.equalTo(false)).blockUntilEnded(Duration.TWO_MINUTES);
                     Optional<Entity> anyNodeInCluster = 
Iterables.tryFind(nodes.keySet(), Predicates.and(
                             Predicates.instanceOf(RiakNode.class),
                             
EntityPredicates.attributeEqualTo(RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER, true),
                             Predicates.not(Predicates.equalTo(member))));
-                    if (timeout && anyNodeInCluster.isPresent()) {
+                    if (anyNodeInCluster.isPresent()) {
                         Entities.invokeEffectorWithArgs(this, 
anyNodeInCluster.get(), RiakNode.REMOVE_FROM_CLUSTER, 
getRiakName(member)).blockUntilEnded();
                     }
                     nodes.remove(member);

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1e67a52b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
----------------------------------------------------------------------
diff --git 
a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java 
b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
index ad1a736..7e18119 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNode.java
@@ -148,14 +148,11 @@ public interface RiakNode extends SoftwareProcess {
     AttributeSensor<Integer> RIAK_OBJECT_COUNTER_MERGE_TIME_MEAN = 
Sensors.newIntegerSensor("riak.object_counter_merge_time_mean", "Time it takes 
to perform an Update Counter operation");
     AttributeSensor<Integer> RIAK_OBJECT_SET_MERGE_TIME_MEAN = 
Sensors.newIntegerSensor("riak.object_set_merge_time_mean", "Time it takes to 
perform an Update Set operation");
     AttributeSensor<Integer> RIAK_OBJECT_MAP_MERGE_TIME_MEAN = 
Sensors.newIntegerSensor("riak.object_map_merge_time_mean", "Time it takes to 
perform an Update Map operation");
-    AttributeSensor<Integer> RIAK_SEARCH_QUERY_LATENCY_MEDIAN = 
Sensors.newIntegerSensor("riak.search_query_latency_median", "Search query 
latency");
-    AttributeSensor<Integer> RIAK_SEARCH_INDEX_LATENCY_MEDIAN = 
Sensors.newIntegerSensor("riak.search_index_latency_median", "Time it takes 
Search to index a new document");
     AttributeSensor<Integer> RIAK_CONSISTENT_GET_TIME_MEAN = 
Sensors.newIntegerSensor("riak.consistent_get_time_mean", "Strongly consistent 
read latency");
     AttributeSensor<Integer> RIAK_CONSISTENT_PUT_TIME_MEAN = 
Sensors.newIntegerSensor("riak.consistent_put_time_mean", "Strongly consistent 
write latency");
 
-    List<AttributeSensor<Integer>> ONE_MINUTE_STRING_SENSORS = 
ImmutableList.of(RIAK_NODE_GET_FSM_TIME_MEAN, RIAK_NODE_PUT_FSM_TIME_MEAN,
+    List<AttributeSensor<Integer>> ONE_MINUTE_SENSORS = 
ImmutableList.of(RIAK_NODE_GET_FSM_TIME_MEAN, RIAK_NODE_PUT_FSM_TIME_MEAN,
             RIAK_OBJECT_COUNTER_MERGE_TIME_MEAN, 
RIAK_OBJECT_SET_MERGE_TIME_MEAN, RIAK_OBJECT_MAP_MERGE_TIME_MEAN,
-            RIAK_SEARCH_QUERY_LATENCY_MEDIAN, RIAK_SEARCH_INDEX_LATENCY_MEDIAN,
             RIAK_CONSISTENT_GET_TIME_MEAN, RIAK_CONSISTENT_PUT_TIME_MEAN);
 
     // accessors, for use from template file

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/1e67a52b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
----------------------------------------------------------------------
diff --git 
a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java 
b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
index bcb45f1..57def1a 100644
--- a/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
+++ b/software/nosql/src/main/java/brooklyn/entity/nosql/riak/RiakNodeImpl.java
@@ -41,6 +41,7 @@ import brooklyn.location.cloud.CloudLocationConfig;
 import brooklyn.util.collections.MutableSet;
 import brooklyn.util.config.ConfigBag;
 import brooklyn.util.guava.Functionals;
+import brooklyn.util.time.Duration;
 
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
@@ -166,8 +167,9 @@ public class RiakNodeImpl extends SoftwareProcessImpl 
implements RiakNode {
                         ))
                         
.onFailureOrException(Functions.constant(Arrays.asList(new String[0]))));
 
-        for (AttributeSensor<Integer> sensor : ONE_MINUTE_STRING_SENSORS) {
+        for (AttributeSensor<Integer> sensor : ONE_MINUTE_SENSORS) {
             httpFeedBuilder.poll(new HttpPollConfig<Integer>(sensor)
+                    .period(Duration.ONE_MINUTE)
                     
.onSuccess(HttpValueFunctions.jsonContents(sensor.getName().substring(5), 
Integer.class))
                     .onFailureOrException(Functions.constant(-1)));
         }

Reply via email to