Fix race condition for primary component bootstrap
Create node is_pc flag before starting to check if there
is more than one of those flags. Thus, we avoid race condition
when there is 0 is_pc flags and galera starts with --wsrep-new-cluster
on 2 nodes.
We set it before the check and, as setting them is synchronous through
Pacemaker CIB, in that case when >1 nodes attempt to bootstrap with
--wsrep-new-cluster, only one node will see <= 1 is_pc flags. Others
will see more than one and fail and reattempt to start. At that point
one of the nodes will already be bootstrapped, thus reelection will not
be triggered and the section of bootstrap will be skipped
Reviewed: https:/ /review. openstack. org/462135 /git.openstack. org/cgit/ openstack/ fuel-library/ commit/ ?id=31efd1e2c90 cc0ad203423cf44 a4366c6f04e024
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit 31efd1e2c90cc0a d203423cf44a436 6c6f04e024
Author: Vladimir Kuklin <email address hidden>
Date: Fri Apr 28 13:43:49 2017 +0300
Fix race condition for primary component bootstrap
Create node is_pc flag before starting to check if there
is more than one of those flags. Thus, we avoid race condition
when there is 0 is_pc flags and galera starts with --wsrep-new-cluster
on 2 nodes.
We set it before the check and, as setting them is synchronous through new-cluster, only one node will see <= 1 is_pc flags. Others
Pacemaker CIB, in that case when >1 nodes attempt to bootstrap with
--wsrep-
will see more than one and fail and reattempt to start. At that point
one of the nodes will already be bootstrapped, thus reelection will not
be triggered and the section of bootstrap will be skipped
Change-Id: I82a71132eef787 7ac7ab1ed042630 44b3b1e8d9b
Closes-bug: #1617400
Signed-off-by: Sergii Golovatiuk <email address hidden>