Bug #39076 The test backup_nodata_driver fails with blackhole and federated in build.
Submitted: 27 Aug 2008 17:14 Modified: 26 Nov 2008 16:06
Reporter: Chuck Bell Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Backup Severity:S3 (Non-critical)
Version:6.0.7 OS:Any
Assigned to: Ingo Strüwing CPU Architecture:Any

[27 Aug 2008 17:14] Chuck Bell
Description:
The test fails with:

main.backup_nodata_driver      [ fail ]

mysqltest: At line 130: query 'RESTORE FROM 'bup_nodata.bak'' failed: 1146: Tabl
e 'bup_data.myisam1' doesn't exist

The result from queries just before the failure was:
< snip >
Period  Vapor_period
DROP DATABASE bup_data;
show data
SHOW FULL TABLES FROM bup_nodata;
Tables_in_bup_nodata    Table_type
b1      BASE TABLE
e1      BASE TABLE
f1      BASE TABLE
merge1  BASE TABLE
SELECT * FROM bup_nodata.merge1;
ERROR 42S02: Table 'bup_data.myisam1' doesn't exist
SELECT * FROM bup_nodata.f1;
Got one of the listed errors
SELECT * FROM bup_nodata.b1;
a       b       c
SELECT * FROM bup_nodata.e1;
Period  Vapor_period
DROP DATABASE bup_nodata;
Restoring nodata database.
RESTORE FROM 'bup_nodata.bak';

More results from queries before failure can be found in c:\source\bzr\mysql-6.0
-wl-4296\mysql-test\var\log\backup_nodata_driver.log

Warnings from just before the error:
Error 1146 Table 'bup_data.myisam1' doesn't exist

Stopping All Servers
Restoring snapshot of databases
Resuming Tests

How to repeat:
Build mysql-6.0-backup (you must include blackhole and federated engines). Run test.

Suggested fix:
It appears the error is valid and the test should be changed to expect this error on restore on line#130.
[28 Sep 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[29 Sep 2008 13:51] Chuck Bell
Linux
-----
To compile with the blackhole engine, you must use:

./configure --with-plugins=all

or include WITH_BLACKHOLE_STORAGE_ENGINE in the build scripts

or use the command

./configure --with-plugins=blackhole,federated

Windows
-------
To compile with the blackhole engine, the win/configure step should include this command:

win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_BLACKHOLE_STORAGE_ENGINE WITH_EXAMPLE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE __NT__  EXTRA_DEBUG ENABLED_DEBUG_SYNC BACKUP_TEST "COMPILATION_COMMENT=mysql-6.0-backup-myisam clone"
[30 Sep 2008 6:54] Susanne Ebrecht
Verified as described.
[7 Oct 2008 18:21] Chuck Bell
More information:

The ha_create_table_from_engine() method in sql_base.cc @564 is failing to create the table when called from get_table_share_from_create().

May be a FEDERATED engine issue.
[7 Nov 2008 15:43] 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/58197

2727 Ingo Struewing	2008-11-07
      Bug#39076 - The test backup_nodata_driver fails with blackhole
                  and federated in build.
      
      It was reported that the test fails on RESTORE with "Table
      'bup_data.myisam1' doesn't exist". But this error was correct.
      I added the expected error directive.
      
      However, at first the test case did not start on Linux at all.
      The example storage engine is built as a dynamically loadable
      plugin only. I added the required prerequisites. But now the
      test case is skipped on Windows. Currently we do not have
      Windows support for dynamically loadable plugins.
      See WL#3653 - Loadable Engine on Windows
      
      I added/reworked comments in the test case to make clear what
      happens, is required, and why everything is fine.
[19 Nov 2008 21:26] Chuck Bell
Patch approved pending changes below.

REQUESTS
--------
1. There were several commands that failed with the wrong error message. The commands on lines 143, 166, 177, 232 in the test all failed for ER_WRONG_MRG_TABLE instead of ER_NO_SUCH_TABLE. Please confirm that these are the correct errors.

2. Also, we now require the OVERWRITE flag for RESTORE commands if you are replacing databases. The restore on line 209 needs it. Please add it to line 209.
[20 Nov 2008 20:00] Ingo Strüwing
Chuck wrote:

"1. There were several commands that failed with the wrong error message. The commands onlines 143, 166, 177, 232 in the test all failed for ER_WRONG_MRG_TABLE instead of ER_NO_SUCH_TABLE. Please confirm that these are the correct errors."

Confirmed. The change in error messages for a MERGE table came into the system with Bug#35068 (Assertion fails when reading from i_s.tables and there is incorrect merge table). It was merged into the backup tree on 2008-11-14 by Jorgen.

"2. Also, we now require the OVERWRITE flag for RESTORE commands if you are replacing databases. The restore on line 209 needs it. Please add it to line 209."

Sure.
[20 Nov 2008 20:24] 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/59445

2740 Ingo Struewing	2008-11-20
      Bug#39076 - The test backup_nodata_driver fails with blackhole
                and federated in build.
      
      It was reported that the test fails on RESTORE with "Table
      'bup_data.myisam1' doesn't exist". But this error was correct.
      I added the expected error directive.
      
      However, at first the test case did not start on Linux at all.
      The example storage engine is built as a dynamically loadable
      plugin only. I added the required prerequisites. But now the
      test case is skipped on Windows. Currently we do not have
      Windows support for dynamically loadable plugins.
      See WL#3653 - Loadable Engine on Windows
[21 Nov 2008 9:39] Jørgen Løland
Good to push
[21 Nov 2008 15:02] 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/59553

2740 Ingo Struewing	2008-11-21
      Bug#39076 - The test backup_nodata_driver fails with blackhole
              and federated in build.
      
      It was reported that the test fails on RESTORE with "Table
      'bup_data.myisam1' doesn't exist". But this error was correct.
      I added the expected error directive.
      
      However, at first the test case did not start on Linux at all.
      The example storage engine is built as a dynamically loadable
      plugin only. I added the required prerequisites. But now the
      test case is skipped on Windows. Currently we do not have
      Windows support for dynamically loadable plugins.
      See WL#3653 - Loadable Engine on Windows
[22 Nov 2008 21:26] Ingo Strüwing
Accidentally queued to mysql-6.0-bugteam.
  Queued to mysql-6.0-backup.
[26 Nov 2008 8:50] Bugs System
Pushed into 6.0.9-alpha  (revid:ingo.struewing@sun.com-20081121150234-yp2qeiw7szjtit9m) (version source revid:jorgen.loland@sun.com-20081126084449-lq9ckif3hmxesy1n) (pib:5)
[26 Nov 2008 16:06] Paul DuBois
Test case changes. No changelog entry needed.
[10 Dec 2008 5:41] 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/61141

2742 He Zhenxing	2008-12-10 [merge]
      Auto Merge