From 6925689ca829901567e9503fd4fdce443f9a7d53 Mon Sep 17 00:00:00 2001 From: Nirbhay Choubey Date: Thu, 29 Sep 2016 14:58:32 -0400 Subject: [PATCH] MDEV-9312: storage engine not enforced during galera cluster replication Postfix: The pre-initialization of wsrep threads is not needed for mysqldump sst method. --- sql/mysqld.cc | 4 +++- sql/wsrep_mysqld.cc | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index f69416c34ea..466a54b21a8 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5316,8 +5316,10 @@ static int init_server_components() initialized. This initialization was not possible before, as plugins (and thus some global system variables) are initialized after wsrep startup threads are created. + Note: This only needs to be done for rsync, xtrabackup based SST methods. */ - wsrep_plugins_post_init(); + if (wsrep_before_SE()) + wsrep_plugins_post_init(); if (WSREP_ON && !opt_bin_log) { diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc index 5f25ea1ef38..0deb19dfc77 100644 --- a/sql/wsrep_mysqld.cc +++ b/sql/wsrep_mysqld.cc @@ -786,8 +786,12 @@ void wsrep_init_startup (bool first) Pre-initialize global_system_variables.table_plugin with a dummy engine (placeholder) required during the initialization of wsrep threads (THDs). (see: plugin_thdvar_init()) + Note: This only needs to be done for rsync & xtrabackup based SST methods. + In case of mysqldump SST method, the wsrep threads are created after the + server plugins & global system variables are initialized. */ - wsrep_plugins_pre_init(); + if (wsrep_before_SE()) + wsrep_plugins_pre_init(); /* Skip replication start if dummy wsrep provider is loaded */ if (!strcmp(wsrep_provider, WSREP_NONE)) return;