Bug #42414 falcon_bug_33211 fails when trying to create a table in a non-existing table spa
Submitted: 28 Jan 2009 11:25 Modified: 15 May 2009 13:05
Reporter: Olav Sandstå Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:6.0.10-alpha OS:Solaris (Solaris 10 on x86)
Assigned to: Vladislav Vaintroub CPU Architecture:Any
Tags: F_TABLESPACE
Triage: Triaged: D2 (Serious)

[28 Jan 2009 11:25] Olav Sandstå
Description:
When running the falcon suite using a recent version of the falcon-team tree I get the following error:

falcon.falcon_bug_33211        [ fail ]

mysqltest: At line 7: query 'CREATE TEMPORARY TABLE t1(a INT) ENGINE=falcon TABLESPACE nosuchspace' failed: 1005: Can't create table 'test.t1' (errno: 156)

The result from queries just before the failure was:
CREATE TEMPORARY TABLE t1(a INT) ENGINE=falcon TABLESPACE nosuchspace;

More results from queries before failure can be found in /home/os136802/mysql/develop/repo/falcon-bug40633/mysql-test/var/log/falcon_bug_33211.log

Warnings from just before the error:
Warning 1478 TABLESPACE option is not supported for temporary tables. Switching to 'FALCON_TEMPORARY' tablespace.

Aborting: falcon.falcon_bug_33211 failed in default mode.

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

Note: this seems to happen only when I run the complete test suite. If I run
just this single test it succeed.

How to repeat:
Run the falcon test suite on Solaris (it seems not to happen on Linux).

Suggested fix:
Test should pass.
[28 Jan 2009 14: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/64298

2982 Vladislav Vaintroub	2009-01-28
      Bug #42414 falcon_bug_33211 fails when trying to create a table in a non-existing table space.
      
      This is a regression introduced with the fix for #42392  !Falcon bugs in recovery of create tablespace". The root cause is that tablespace bootstrap does not try open all tablespaces anymore. The code in Falcon was not prepared to handle inactive tablespace in this specific case 
      (create table in a tablespace)
      
      Fix:  open tablespace if it is inactive, regardless if it is an open open by id or by name.
[13 Feb 2009 7:24] Bugs System
Pushed into 6.0.10-alpha (revid:alik@sun.com-20090211182317-uagkyj01fk30p1f8) (version source revid:vvaintroub@mysql.com-20090128142637-6stffvveoj6s38zx) (merge vers: 6.0.10-alpha) (pib:6)
[15 May 2009 13:05] MC Brown
An entry has been added to the 6.0.10 changelog: 

Falcon would fail to create a table in a TABLESPACE that had not already been opened by a previous operation.