linux-traipu team mailing list archive
-
linux-traipu team
-
Mailing list archive
-
Message #04696
Re: [Bug 971300] Re: drizzle: should not abort when a plugin is not available
Excerpts from Stewart Smith's message of Mon Apr 02 07:33:26 UTC 2012:
> The behaviour of not hard failing when a requested plugin is not found
> has been the cause of much pain in the past with MySQL. In MySQL, if
> InnoDB failed to start, the server would still start and then all heck
> would break loose (possibly having tables in MyISAM instead of InnoDB,
> possibly having data not there, possibly people getting really
> confused).
>
> Is there another way around the problem of debian not removing
> configuration files?
>
Yes, we do this with apache. Have the packages move the inis to
/etc/drizzle/plugins.available
Then have an 'drizzleplugin --enable foo' and 'drizzleplugin
--disable foo' command available which simply manages symlinks in
/etc/drizzle/plugins.enabled (which drizzle would be including).
On removal without purge, disable the plugin... and on installation,
enable the plugin.
This will preserve local changes to config files while a plugin is
removed but not purged, and will also prevent a removal without purge
from breaking the server.
This will involve renaming conffiles, which is a PITA, but much easier
now that dpkg has builtin support with dpkg-maintscript-helper.
--
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Drizzle.
https://bugs.launchpad.net/bugs/971300
Title:
drizzle: should not abort when a plugin is not available
Status in A Lightweight SQL Database for Cloud Infrastructure and Web Applications:
Invalid
Bug description:
For example, when the js plugin is compiled but not installed (e.g on
Debian is has to be an extra package as it has build-dependencies are
only available on certain architectures).
In this case, when drizzle is installed but the js-plugin package not,
drizzle fails to start:
#drizzled
Can't open shared library '/usr/lib/drizzle7/libjs_plugin.so' (errno: 0 /usr/lib/drizzle7/libjs_plugin.so: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden)
Couldn't load plugin library named 'js'.
Aborting:"Failed to initialize plugins". Abort was called from
drizzled/drizzled.cc:1341 in init_variables_after_daemonizing()
I think this can be handled in a better way, also to better integrate into Distribution packasging (to avoid that if a plugin in removed that the drizzle fails to start without reconfiguration)
For example, if a plugin is not found, but not explictly enabled, just ignore this. If it is enabled, it should also not fail (if it is not a dependeny on a other installed plugin. It should not fail, because removing a package does not mean that its configuration gets deleted.
(PHP does it like thos: it warns in the log when it does not find an extension)
coldtobi
To manage notifications about this bug go to:
https://bugs.launchpad.net/drizzle/+bug/971300/+subscriptions
References