Thanks Thomas, and Richard.  More details:

This removed the boolean `cluster.first` set on group members -- code that was marked in the code for removal (and which was ambiguous and buggy eg if an entity is in two groups, and which caused deadlocks when using dynamic group membership).

It does have a simple workaround as Thomas notes -- access the `cluster.first.entity` on the group (though note it's not necessarily the `parent`). The PR also now correctly updates this and clears this as the group changes or becomes empty, respectively. Alternatively you can set the `firstMember` specially to advertise its first-ness. There are also some policies for electing a primary node in a group (one of the main use cases of this I believe) which I've been working on and will add these soon.

As the removal is a breaking change I should have flagged it on ML and in release notes: mea maxima culpa! ML absence has been remedied here -- and it is going in to release notes imminently.

Best
Alex


On 07/09/2017 12:17, Thomas Bouron wrote:
Hi Brooklyner.

Just a quick heads-up for those who are using `DynamicCluster` and more
specifically, `cluster.first.entity` sensor on cluster members.

There was a change introduced by this PR[1] that removes the sensor from
cluster members. This breaking change was merged to fix a potential
deadlock of the Brooklyn server. The sensor is still present at the cluster
level though, so DSL users can still get it from members with the following:

$brooklyn:parent().attributeWhenReady("cluster.first.entity")

This affects only the bleeding-edge Brooklyn, *not the latest stable
release*.

Cheers.

[1] https://github.com/apache/brooklyn-server/pull/777

Reply via email to