Hi, Kristofer!
On Nov 21, Kristofer Pettersson wrote:
> #At file:///home/thek/Development/cpp/mysqlbzr/mysql-5.1-bug19027/
>
> 2675 Kristofer Pettersson 2008-11-21
> Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
>
> If the InnoDB SE fails to initialize during server start up,
> there is no automatic mechanism for client applications to
> detect that the meta data has changed.
>
> This patch provide a solution to this issue so that if the
> InnoDB SE plugins fail the server won't go online unless the
> plugin loading mechanism was "--loose-plugin-load" in which case
> the server will start with best effort.
> @@ -6671,6 +6671,11 @@ The minimum value for this variable is 4
> "identified by name and path to library seperated by an equals.",
> (uchar**) &opt_plugin_load, (uchar**) &opt_plugin_load, 0,
> GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
> + {"loose_plugin_load", OPT_LOOSE_PLUGIN_LOAD,
> + "Optional colon separated list of plugins to load, where each plugin is "
> + "identified by name and path to library seperated by an equals.",
> + (uchar**) &opt_loose_plugin_load, (uchar**) &opt_loose_plugin_load, 0,
> + GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
> {"preload_buffer_size", OPT_PRELOAD_BUFFER_SIZE,
> "The size of the buffer that is allocated when preloading indexes",
> (uchar**) &global_system_variables.preload_buff_size,
No, this is not what I mean. loose prefix is automatically supported by
my_getopt, by adding an option that actually starts with "loose-" you
enabled ./mysqld --loose-loose-plugin-load, which looks a bit too loose
to me :)
What I meant is
mysqld --disable-innodb ... will start without innodb
mysqld --enable-innodb ... will never start with innodb, yes,
really. If innodb fails to start,
the server won't start either
mysqld --loose-enable-innodb ... will start with innodb, if
possible. If innodb fails to start,
the server goes on anyway.
Another possibility is to change a boolean option --pluginname to a
tristate option:
mysqld --innodb=off ... without innodb
mysqld --innodb=on ... with innodb, if possible
mysqld --innodb=force ... with innodb, guaranteed
This is, I expect, easier to do than reusing the loose prefix.
Regards / Mit vielen Grüßen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Engineer/Server Architect
/_/ /_/\_, /___/\___\_\___/ Sun Microsystems GmbH, HRB München 161028
<___/ Sonnenallee 1, 85551 Kirchheim-Heimstetten
Geschäftsführer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Häring