Details
Description
In case a plugin is loaded with INSTALL SONAME , and the same plug is configured to be loaded at the configuration with plugin-load-add, there are not clear ERROR and WARNING mesages at the error log file.
example:
150302 14:00:14 [ERROR] Function 'TokuDB' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_trx' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_trx' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_lock_waits' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_lock_waits' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_locks' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_locks' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_file_map' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_file_map' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_fractal_tree_info' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_fractal_tree_info' with soname 'ha_tokudb.so'. 150302 14:00:14 [ERROR] Function 'TokuDB_fractal_tree_block_map' already exists 150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB_fractal_tree_block_map' with soname 'ha_tokudb.so'.
The messages should give the the reason for the errors
Also, the Warnings are misleading, as in fact the TokuDB plugin is loaded properly
example:
150302 14:00:14 [Warning] Couldn't load plugin named 'TokuDB' with soname 'ha_tokudb.so'. mysql root@centos-6-5-tckt-8873:[Mon Mar 2 14:17:42 2015][(none)]> pager grep -i tokudb PAGER set to 'grep -i tokudb' mysql root@centos-6-5-tckt-8873:[Mon Mar 2 14:17:47 2015][(none)]> show plugins ; | TokuDB | ACTIVE | STORAGE ENGINE | ha_tokudb.so | GPL | | TokuDB_trx | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | | TokuDB_lock_waits | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | | TokuDB_locks | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | | TokuDB_file_map | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | | TokuDB_fractal_tree_info | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | | TokuDB_fractal_tree_block_map | ACTIVE | INFORMATION SCHEMA | ha_tokudb.so | GPL | 54 rows in set (0.00 sec)
There should be a documentation change with explanation what will happen in this case at some MariaDB KnowledgeBase pages , so far I can list these ones:
https://mariadb.com/kb/en/mariadb/install-plugin/
https://mariadb.com/kb/en/mariadb/plugin-overview/
https://mariadb.com/kb/en/mariadb/enabling-tokudb/
Gliffy Diagrams
Attachments
Issue Links
- links to
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Hi Ivan,
Could you please elaborate on this a bit, I don't quite understand the problem.
But they do give the reason, don't they? You've quoted it:
This is the reason why it
It looks quite readable to me; can you suggest a message which from your point of view would explain the problem better?
No, actually it is not.
Imagine that you have different libraries which contain the same plugins: ha_tokudb.so and my_toku.so.
First you installed plugins from ha_tokudb.so via INSTALL SONAME. You'll see them in mysql.plugins.
Then you restarted the server with plugin-load-add=my_toku.so. It loads the plugins from one library, but those from another one can't be installed, thus the error message.