Bug #58251 archive_plugin and blackhole_plugin fails when running with ps-protocol
Submitted: 17 Nov 2010 10:04 Modified: 24 Apr 2013 15:21
Reporter: Olav Sandstå Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Prepared statements Severity:S3 (Non-critical)
Version:5.5.8, 5.6.1 OS:Any
Assigned to: CPU Architecture:Any

[17 Nov 2010 10:04] Olav Sandstå
Description:
When running the test archive_plugin and blackhole_plugin using the --ps-protocol option to MTR these test fails with the following output:

main.archive_plugin                      [ fail ]
        Test ended at 2010-11-17 10:59:11

CURRENT_TEST: main.archive_plugin
mysqltest: At line 26: query 'UNINSTALL PLUGIN archive' succeeded - should have failed with errno 1305...

The result from queries just before the failure was:
< snip >
Warnings:
Warning 1286    Unknown storage engine 'ARCHIVE'
Warning 1266    Using storage engine MyISAM for table 't1'
DROP TABLE t1;
INSTALL PLUGIN archive SONAME 'ha_archive.so';
INSTALL PLUGIN ARCHIVE SONAME 'ha_archive.so';
ERROR HY000: Function 'ARCHIVE' already exists
UNINSTALL PLUGIN archive;
INSTALL PLUGIN archive SONAME 'ha_archive.so';
CREATE TABLE t1(a int) ENGINE=ARCHIVE;
DROP TABLE t1;
UNINSTALL PLUGIN archive;
Warnings:
Warning 1620    Plugin is busy and will be uninstalled on shutdown

How to repeat:
1. Check out the source code (I was using mysql-next-mr-opt-backporting)

2. cmake . -DWITH_DEBUG=1

3. gmake

4. cd mysql-test

5. ./mtr --ps-protocol archive_plugin
[17 Nov 2010 10:21] Olav Sandstå
These tests also fails when using the source from mysql-trunk-bugfixing.
[17 Nov 2010 10:48] MySQL Verification Team
Thank you for the bug report. Verified on Linux Ubuntu 10.10:

Using server port 34221

==============================================================================

TEST                                      RESULT   TIME (ms)
------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
main.archive_plugin                      [ fail ]
        Test ended at 2010-11-17 08:44:50

CURRENT_TEST: main.archive_plugin
mysqltest: At line 26: query 'UNINSTALL PLUGIN archive' succeeded - should have failed with errno 1305...

The result from queries just before the failure was:
< snip >
[2 Dec 2010 10:36] Bjørn Munch
The ps-protocol only affects the CREATE TABLE statements. The plugin is reported as busy and cannot be uninstalled after that prepared statement has been created. I don't know if this is expected behavior or a bug. If it's expected, the test should --disable_ps_protocol before doing the CREATE TABLE. Alternatively, two different variants should be put in the test.
[2 Dec 2010 12:21] Bjørn Munch
See my previous comment. The simple fix is to add the line
--disable_ps_protocol
before the second CREATE TABLE. This applies to both tests.

The question is whether it's correct of the server to not uninstall the plugin immediately but say it's busy.
[24 Apr 2013 15:21] Paul DuBois
Changes to test suite. No changelog entry needed.