summaryrefslogtreecommitdiff
path: root/sql/wsrep_mysqld.cc
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay@mariadb.com>2016-09-28 13:26:13 -0400
committerNirbhay Choubey <nirbhay@mariadb.com>2016-11-07 11:53:56 -0500
commit6bb6f30ff9447c880ef90c4194b0fe0deca87ac6 (patch)
tree51f6607ad9e22242c056f25f811c969eb59f2b2b /sql/wsrep_mysqld.cc
parent7c38a94435976e9f311e9b84953ffbb3a9139807 (diff)
downloadmariadb-git-6bb6f30ff9447c880ef90c4194b0fe0deca87ac6.tar.gz
MDEV-9312: storage engine not enforced during galera cluster replication
Perform a post initialization of plugin-related variables of wsrep threads after their global counterparts have been initialized.
Diffstat (limited to 'sql/wsrep_mysqld.cc')
-rw-r--r--sql/wsrep_mysqld.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
index b8fae8dbd86..7e6f9bbce6d 100644
--- a/sql/wsrep_mysqld.cc
+++ b/sql/wsrep_mysqld.cc
@@ -36,6 +36,7 @@
#include <cstdlib>
#include "log_event.h"
#include <slave.h>
+#include "sql_plugin.h" /* wsrep_plugins_pre_init() */
wsrep_t *wsrep = NULL;
/*
@@ -792,7 +793,6 @@ void wsrep_thr_init()
DBUG_VOID_RETURN;
}
-
void wsrep_init_startup (bool first)
{
if (wsrep_init()) unireg_abort(1);
@@ -803,6 +803,13 @@ void wsrep_init_startup (bool first)
wsrep_debug, wsrep_convert_LOCK_to_trx,
(wsrep_on_fun)wsrep_on);
+ /*
+ Pre-initialize global_system_variables.table_plugin with a dummy engine
+ (placeholder) required during the initialization of wsrep threads (THDs).
+ (see: plugin_thdvar_init())
+ */
+ wsrep_plugins_pre_init();
+
/* Skip replication start if dummy wsrep provider is loaded */
if (!strcmp(wsrep_provider, WSREP_NONE)) return;