Bug #72615 MTR --mysqld=--default-storage-engine=foo incompatible w/ dynamically-loaded foo
Submitted: 12 May 2014 8:29 Modified: 29 Oct 2014 15:14
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
Category:Tools: MTR / mysql-test-run Severity:S3 (Non-critical)
Version:5.6+ OS:Any
Assigned to: CPU Architecture:Any
Tags: plugin, storage engine, TokuDB

[12 May 2014 8:29] Laurynas Biveinis
Credit goes to Rich Prohaska, https://github.com/Tokutek/percona-server-5.6/issues/8

MTR checks for the presence of default-storage-engine and default-tmp-storage-engine mysqld options (command_line_setup, optimize_cases) and then tests whether the specified engine is actually supported by the server (optimize_cases).

The test for support is performed by using server variables saved from an initial mysqld --help run (collect_mysqld_features). mysqld --help does not add any --plugin-load options there. Now, if the storage engine is dynamically loaded, and MTR is invoked with --mysqld=--default-storage-engine=foo --mysqld=--plugin-load=foo=foo.so, its presence won't be registered by collect_mysqld_features and the testcases will be skipped although they shouldn't.

How to repeat:
See above.

Suggested fix:
Pass any specified plugin-load options to collect_mysqld_features.
[12 May 2014 8:41] MySQL Verification Team
Hello Laurynas,

Thank you for the bug report.
Verified as described.

[29 Oct 2014 15:14] Laurynas Biveinis
The basedir option has to be passed too in addition to the plugin-load options, or they will fail to find their plugins with non-default basedir resulting in non-default plugin dir.