commit 3a6b0976e529c549419654f3952e12bf16cdb957
Author: Vladimir Kuklin <email address hidden>
Date: Fri Jan 6 19:11:09 2017 +0300
Avoid false-positive split-brain detection for mysql-wss
With change Iaa4855d769fe1e0203fcfb9981413273e0e4dda2
we detect whether the node is running as a primary component
while it is not master. While it is a good solution, sometimes
we face race condition when the node which is a 'master' gets lower
sequence number due to other nodes updating their gtid and the same
time. Although it happens rarely and mostly on the slow or overloaded
environemnts, it leads to redundant mysql restarts and service
downtime for OpenStack APIs.
The proper fix would be to use master-slave resource and corresponding
script, but this is a far to big change for the bug under question.
The solution proposed checks if the node is a primary component during
start and monitor operations and also checks for number of currently
running primary components by setting and querying an additional
attribute `is_pc`. It triggers monitor failure only when the node
is not running with the 'master' GTID and is a primary component
and if there is more than one primary components.
Misc: fix functions return codes to reflect shell 'true'
and 'false' numeric values.
Reviewed: https:/ /review. openstack. org/418892 /git.openstack. org/cgit/ openstack/ fuel-library/ commit/ ?id=3a6b0976e52 9c549419654f395 2e12bf16cdb957
Committed: https:/
Submitter: Jenkins
Branch: stable/mitaka
commit 3a6b0976e529c54 9419654f3952e12 bf16cdb957
Author: Vladimir Kuklin <email address hidden>
Date: Fri Jan 6 19:11:09 2017 +0300
Avoid false-positive split-brain detection for mysql-wss
With change Iaa4855d769fe1e 0203fcfb9981413 273e0e4dda2
we detect whether the node is running as a primary component
while it is not master. While it is a good solution, sometimes
we face race condition when the node which is a 'master' gets lower
sequence number due to other nodes updating their gtid and the same
time. Although it happens rarely and mostly on the slow or overloaded
environemnts, it leads to redundant mysql restarts and service
downtime for OpenStack APIs.
The proper fix would be to use master-slave resource and corresponding
script, but this is a far to big change for the bug under question.
The solution proposed checks if the node is a primary component during
start and monitor operations and also checks for number of currently
running primary components by setting and querying an additional
attribute `is_pc`. It triggers monitor failure only when the node
is not running with the 'master' GTID and is a primary component
and if there is more than one primary components.
Misc: fix functions return codes to reflect shell 'true'
and 'false' numeric values.
Change-Id: Id3ea32347ed37a 6efffd3ee85dfb3 110b2e8c8ca
Closes-bug: #1651982