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