Bug #27359 Partitions: memory allocation error message
Submitted: 21 Mar 2007 21:03 Modified: 11 Apr 2007 4:05
Reporter: Peter Gulutzan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Partitions Severity:S3 (Non-critical)
Version:5.1.17-beta-debug OS:Linux (SUSE 10.0 / 64-bit)
Assigned to: Alexey Botchkov CPU Architecture:Any
Tags: cluster, partition

[21 Mar 2007 21:03] Peter Gulutzan
Description:
I start mysqld with --ndbcluster (nothing else, I'm not really using cluster).
I try to create a table with engine=ndbcluster.
I see an error message on mysqld:
"
Error: Memory allocated at partition_info.cc:768 was overrun, discovered
at 'partition_info.cc:833'
"
And the CREATE TABLE fails with error 157.

Failure is correct behaviour, but I guessed that the error message means
something isn't quite right with partitions, so I report it.

How to repeat:
Do nothing related to node preparation for ndbcluster.

Start mysqld thus
mysqld --ndbcluster

On mysql client, say:

mysql> create table t1 (s1 int) engine=ndbcluster;
ERROR 1005 (HY000): Can't create table 'test.t1' (errno: 157)

Observe that mysqld has displayed:

Error: Memory allocated at partition_info.cc:768 was overrun, discovered
at 'partition_info.cc:833'
[22 Mar 2007 11:42] MySQL Verification Team
Thank you for the bug report. Verified as described.
[27 Mar 2007 13:39] 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/23006

ChangeSet@1.2505, 2007-03-27 18:39:11+05:00, holyfoot@mysql.com +4 -0
  Bug #27359 Partition: memory allocation error message
  
  if ndbcluster's nodes aren't set, the handlerton can return zero partitions
  in the partitioned table. So we should check for that.
[28 Mar 2007 8:37] Alexander Barkov
The patch is ok: http://lists.mysql.com/commits/23006

There's only small discrepancy between the code:

 my_error(ER_PARTITION_NOT_DEFINED_ERROR, MYF(0), "partitions");

and the test results:

  ERROR HY000: For the partitioned engine it is necessary to define all partition

"partitions" vs "parition".

You probably forgot to run "--record".
[9 Apr 2007 12:42] Bugs System
Pushed into 5.1.18-beta
[11 Apr 2007 4:05] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html

Documented bugfix in 5.1.18 changelog.

Noted in the changelog as a Cluster bug, since a user wouldn't encounter this without trying to create an NDB table.