Repository: incubator-brooklyn
Updated Branches:
  refs/heads/master 9ef37b2c9 -> 9e7b523bf


Make all cluster operations blocking inside mutex


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

Branch: refs/heads/master
Commit: b8d60635392142b4fb33e5ced47f8f8a86058edd
Parents: f73b468
Author: Andrew Kennedy <[email protected]>
Authored: Tue Mar 24 20:09:56 2015 +0000
Committer: Andrew Kennedy <[email protected]>
Committed: Tue Mar 24 20:11:35 2015 +0000

----------------------------------------------------------------------
 .../java/brooklyn/entity/nosql/riak/RiakClusterImpl.java     | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/b8d60635/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 8f2be1c..0e651ea 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
@@ -42,6 +42,7 @@ import brooklyn.entity.trait.Startable;
 import brooklyn.location.Location;
 import brooklyn.management.Task;
 import brooklyn.policy.PolicySpec;
+import brooklyn.util.time.Duration;
 import brooklyn.util.time.Time;
 
 import com.google.common.base.Joiner;
@@ -134,10 +135,9 @@ public class RiakClusterImpl extends DynamicClusterImpl 
implements RiakCluster {
                     if (anyNodeInCluster.isPresent()) {
                         if (!nodes.containsKey(member) && 
member.getAttribute(RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER) == null) {
                             String anyNodeName = 
anyNodeInCluster.get().getAttribute(RiakNode.RIAK_NODE_NAME);
-                            Task<Void> joinCluster = 
Entities.invokeEffectorWithArgs(this, member, RiakNode.JOIN_RIAK_CLUSTER, 
anyNodeName);
+                            Entities.invokeEffectorWithArgs(this, member, 
RiakNode.JOIN_RIAK_CLUSTER, anyNodeName).blockUntilEnded();
                             if (getAttribute(IS_CLUSTER_INIT)) {
-                                joinCluster.blockUntilEnded();
-                                Entities.invokeEffector(RiakClusterImpl.this, 
member, RiakNode.COMMIT_RIAK_CLUSTER);
+                                Entities.invokeEffector(this, member, 
RiakNode.COMMIT_RIAK_CLUSTER).blockUntilEnded();
                             }
                             nodes.put(member, riakName);
                             setAttribute(RIAK_CLUSTER_NODES, nodes);
@@ -154,7 +154,7 @@ public class RiakClusterImpl extends DynamicClusterImpl 
implements RiakCluster {
                             
EntityPredicates.attributeEqualTo(RiakNode.RIAK_NODE_HAS_JOINED_CLUSTER, true),
                             Predicates.not(Predicates.equalTo(member))));
                     if (anyNodeInCluster.isPresent()) {
-                        Entities.invokeEffectorWithArgs(this, 
anyNodeInCluster.get(), RiakNode.LEAVE_RIAK_CLUSTER, getRiakName(member));
+                        Entities.invokeEffectorWithArgs(this, 
anyNodeInCluster.get(), RiakNode.LEAVE_RIAK_CLUSTER, 
getRiakName(member)).blockUntilEnded();
                     }
                     nodes.remove(member);
                     setAttribute(RIAK_CLUSTER_NODES, nodes);

Reply via email to