maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #09978
Re: [Commits] a8162d4: MDEV-9312: storage engine not enforced during galera cluster replication
Hi Serg,
On Tue, Sep 27, 2016 at 3:49 PM, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:
> Hi, Nirbhay!
>
> I don't understand, why do you need to create a dummy plugin here?
>
Since global_system_variables.table_plugin is null when the startup wsrep
threads
are created, I used dummy plugin to initialize it to avoid running into
segfaults in
intern_plugin_lock() invoked from under plugin_thdvar_init().
static plugin_ref intern_plugin_lock(LEX *lex, plugin_ref rc)
{
st_plugin_int *pi= plugin_ref_to_int(rc);
...
if (pi->state & (PLUGIN_IS_READY | PLUGIN_IS_UNINITIALIZED |
PLUGIN_IS_DELETED))
Also, with this commit plugin_thdvar_init() is free from wsrep related
changes.
Best,
Nirbhay
> On Sep 27, Nirbhay Choubey wrote:
> > revision-id: a8162d4a8737cff67889390fad0153acc175391d
> (mariadb-10.1.17-22-ga8162d4)
> > parent(s): 6a6b253a6ecbd4d3dd254044d12ec64475453275
> > author: Nirbhay Choubey
> > committer: Nirbhay Choubey
> > timestamp: 2016-09-27 09:03:26 -0400
> > message:
> >
> > 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.
> ...
> > +#ifdef WITH_WSREP
> > +
> > +/*
> > + Placeholder for global_system_variables.table_plugin required during
> > + initialization of startup wsrep threads.
> > +*/
> > +static st_plugin_int *wsrep_dummy_plugin;
> > +
> > +/*
> > + Initialize wsrep_dummy_plugin and assign it to
> > + global_system_variables.table_plugin.
> > +*/
> > +void wsrep_plugins_pre_init()
> > +{
> > + wsrep_dummy_plugin=
> > + (st_plugin_int *) my_malloc(sizeof(st_plugin_int), MYF(0));
> > + wsrep_dummy_plugin->state= PLUGIN_IS_DISABLED;
> > + global_system_variables.table_plugin= plugin_int_to_ref(wsrep_dummy_
> plugin);
> > +}
> > +
> Regards,
> Sergei
> Chief Architect MariaDB
> and security@xxxxxxxxxxx
>
Follow ups
References