On 23 July 2014 14:01, James Page <email address hidden> wrote:
> The 'eligible_leader' function does a few checks
>
> 1) if fully clustered, then the owner of the VIP is the leader
> 2) if not fully clustered, the oldest service unit in the 'cluster'
> relation is declared the leader
>
> If in the event of 2) the cluster relation is not fully formed with all
> service units prior to the shared-db relation being made, I could see
> how 2 nova-cc units both think they are the leader and you hit a race;
> do you see the db sync being run on multiple service units?
>
Yes.
Given it's not possible for a user of the Juju API to know when a relation
is "fully formed" I'm not sure if/how we can work around this.
On 23 July 2014 14:01, James Page <email address hidden> wrote:
> The 'eligible_leader' function does a few checks
>
> 1) if fully clustered, then the owner of the VIP is the leader
> 2) if not fully clustered, the oldest service unit in the 'cluster'
> relation is declared the leader
>
> If in the event of 2) the cluster relation is not fully formed with all
> service units prior to the shared-db relation being made, I could see
> how 2 nova-cc units both think they are the leader and you hit a race;
> do you see the db sync being run on multiple service units?
>
Yes.
Given it's not possible for a user of the Juju API to know when a relation
is "fully formed" I'm not sure if/how we can work around this.