Bug #39708 Falcon: non-descriptive error message when creating a big key
Submitted: 28 Sep 2008 12:34 Modified: 13 Dec 2008 11:06
Reporter: Philip Stoev
Status: Closed
Category:Server: Falcon Severity:S3 (Non-critical)
Version:6.0-falcon-team OS:Any
Assigned to: Sergey Vojtovich Target Version:6.0.9
Tags: F_ERROR HANDLING
Triage: Triaged: D4 (Minor)

[28 Sep 2008 12:34] Philip Stoev
Description:
When Falcon is started with --falcon-page-size=2K, maximum key length is 540 bytes, which
is not sufficient to index even reasonably-sized utf8 columns.

This is mentioned in the documentation, however the the error message returned to the
client is not descriptive.

How to repeat:
$ perl mysql-test-run.pl --start-and-exit --mysqld=--falcon-page-size=2K

mysql> CREATE TABLE t1 ( f1 varchar(140) CHARACTER SET utf8, key (f1) ) ENGINE=falcon;
ERROR 1005 (HY000): Can't create table 'test.t1' (errno: 213)

Suggested fix:
Map the falcon internal error to an appropriate server error code.
[1 Oct 2008 17:25] Miguel Solorzano
I couldn't repeat this issue with mysql-6.0 tree.
[8 Oct 2008 19:49] Miguel Solorzano
Thank you for the bug report.

mysql> CREATE TABLE test.t1 ( f1 varchar(140) CHARACTER SET utf8, key (f1) )
ENGINE=falcon;
No connection. Trying to reconnect...
Connection id:    1
Current database: test

ERROR 1005 (HY000): Can't create table 'test.t1' (errno: 213)
mysql>
[29 Oct 2008 13:44] 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/57304

2887 Sergey Vojtovich	2008-10-29
      BUG#39708 - Falcon: non-descriptive error message when creating a big key
      
      When a table creation fails due to too long key, returned
      error message was very generic and unspecific.
      
      Return descriptive error message when table creation
      fails due to too long key.
[20 Nov 2008 13:56] Bugs System
Pushed into 6.0.8-alpha  (revid:svoj@mysql.com-20081029114114-9gdkdc6cknckb294) (version
source revid:vvaintroub@mysql.com-20081031154948-p0kay8egouts5a89) (pib:5)
[13 Dec 2008 11:06] MC Brown
A note has been added to the 6.0.8 changelog: 

When creating a table with the FALCON engine where the size of the key in the index was
larger than supported (the error message did not signify the severity of the problem. The
message and error has been updated.