| Bug #31258 | Disabling a plugin with dependencies does not work with mysql-test-run.pl | ||
|---|---|---|---|
| Submitted: | 27 Sep 2007 20:16 | Modified: | 28 Sep 2007 16:53 |
| Reporter: | Hakan Küçükyılmaz | Email Updates: | |
| Status: | Not a Bug | ||
| Category: | Server | Severity: | S2 (Serious) |
| Version: | 6.0 | OS: | Any |
| Assigned to: | Antony Curtis | Target Version: | |
[27 Sep 2007 22:00]
Calvin Sun
This one is required to make 6.0 tree green.
[28 Sep 2007 2:27]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/34624 ChangeSet@1.2602, 2007-09-27 19:24:33-07:00, acurtis@xiphis.org +7 -0 Bug#31258 "Disabling a plugin with dependencies does not work wth mysql-test-run.pl" Note: This patch does not implement plugin dependencies. New command line option: --disable-plugins=NAMES where NAMES is a comma seperated list of plugin names which will not be loaded automatically during initialization. Names are case-insenstive and SQL LIKE wildcards are permitted which enable disabling all plugins which start with a specific name. When initializing built-in and installed plugins, check if they have been explicitly disabled by the --disable-plugins= option.
[28 Sep 2007 2:55]
Hakan Küçükyılmaz
Just tested Antony's patch on mysql-6.0-falcon tree and it works! Best regards, Hakan
[28 Sep 2007 15:53]
Calvin Sun
this fix is needed to make 6.0 tree green.
[28 Sep 2007 16:53]
Sergei Golubchik
This is expected behavior. Falcon plugin introduces a configuration variable falcon_serial_log_dir (which can be also referred to as plugin-falcon_serial_log_dir). Note that my_getopt allows to refer to an option using an unambiguous prefix (see http://dev.mysql.com/doc/refman/5.0/en/program-options.html). And skip-var is equivalent to var=0 (http://dev.mysql.com/doc/refman/5.0/en/command-line-options.html). So, --loose-skip-plugin-falcon_serial_log is interpreted as falcon_serial_log_dir=0, and does NOT disable the plugin falcon_serial_log. There are different solutions that would help to fix symptoms of this bug - to allow unload falcon plugins - for example the patch that Antony wrote, or wl#3295, or ignoring plugin's variables if the plugin is skipped. But no solution fundamentally helps to resolve the ambiguity. Plugin authors should take care to avoid giving plugins and variables ambiguous names.

Description: Disabling a plugin with dependencies does not work properly. In mysql-6.0 I have to disable Falcon plugin so that information_schema.test succeeds. How to repeat: Run information_schema.test in mysql-6.0 tree with following master.opt file to disable Falcon plugin. // File name information_schema-master.opt --loose-skip-plugin_falcon --loose-skip-plugin-falcon_database_io --loose-skip-plugin-falcon_record_cache_detail --loose-skip-plugin-falcon_record_cache_summary --loose-skip-plugin-falcon_serial_log --loose-skip-plugin-falcon_syncobjects --loose-skip-plugin-falcon_system_memory_detail --loose-skip-plugin-falcon_system_memory_summary --loose-skip-plugin-falcon_tables --loose-skip-plugin-falcon_transaction_summary --loose-skip-plugin-falcon_transactions With information_schema-master.opt in place run information_schema.test ./mysql-test-run.pl --skip-ndb information_schema ======================================================= TEST RESULT TIME (ms) ------------------------------------------------------- main.information_schema [ fail ] --- /home/hakan/work/mysql/mysql-6.0-falcon/mysql-test/r/information_schema.result 2007-09-14 12:17:53.000000000 +0300 +++ /home/hakan/work/mysql/mysql-6.0-falcon/mysql-test/var/log/information_schema.reject 2007-09-27 23:14:54.000000000 +0300 @@ -64,6 +64,7 @@ TRIGGERS USER_PRIVILEGES VIEWS +FALCON_TRANSACTIONS columns_priv db event @@ -850,7 +851,7 @@ flush privileges; SELECT table_schema, count(*) FROM information_schema.TABLES where table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA; table_schema count(*) -information_schema 28 +information_schema 29 mysql 22 create table t1 (i int, j int); create trigger trg1 before insert on t1 for each row @@ -1263,6 +1264,7 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE VIEWS TABLE_SCHEMA +FALCON_TRANSACTIONS DATABASE SELECT t.table_name, c1.column_name FROM information_schema.tables t INNER JOIN @@ -1306,6 +1308,7 @@ TRIGGERS TRIGGER_SCHEMA USER_PRIVILEGES GRANTEE VIEWS TABLE_SCHEMA +FALCON_TRANSACTIONS DATABASE SELECT MAX(table_name) FROM information_schema.tables; MAX(table_name) VIEWS @@ -1379,6 +1382,7 @@ COLUMN_PRIVILEGES information_schema.COLUMN_PRIVILEGES 1 ENGINES information_schema.ENGINES 1 EVENTS information_schema.EVENTS 1 +FALCON_TRANSACTIONS information_schema.FALCON_TRANSACTIONS 1 FILES information_schema.FILES 1 GLOBAL_STATUS information_schema.GLOBAL_STATUS 1 GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 1 mysqltest: Result content mismatch Aborting: main.information_schema failed in default mode. To continue, re-run with '--force'. Stopping All Servers It looks like that the 11th parameter in the master.opt file is ignored. Suggested fix: Implementation of WL#3295 plugin run-time dependencies, would help fixing this issue.