mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
updating @@wsrep_cluster_address deadlocks
wsrep_cluster_address_update() causes LOCK_wsrep_slave_threads to be locked under LOCK_wsrep_cluster_config, while normally the order should be the opposite. Fix: don't protect @@wsrep_cluster_address value with the LOCK_wsrep_cluster_config, LOCK_global_system_variables is enough. Only protect wsrep reinitialization with the LOCK_wsrep_cluster_config. And make it use a local copy of the global @@wsrep_cluster_address. Also, introduce a helper function that checks whether wsrep_cluster_address is set and also asserts that it can be safely read by the caller.
This commit is contained in:
parent
b91e77cff3
commit
2696538723
7 changed files with 46 additions and 45 deletions
|
|
@ -63,7 +63,7 @@ int wsrep_check_opts()
|
|||
else
|
||||
{
|
||||
// non-mysqldump SST requires wsrep_cluster_address on startup
|
||||
if (!wsrep_cluster_address || !wsrep_cluster_address[0])
|
||||
if (!wsrep_cluster_address_exists())
|
||||
{
|
||||
WSREP_ERROR ("%s SST method requires wsrep_cluster_address to be "
|
||||
"configured on startup.", wsrep_sst_method);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue