Bug #28489 spurious out of memory message in comment of show table status
Submitted: 17 May 2007 5:25 Modified: 29 May 2007 5:43
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Partitions Severity:S3 (Non-critical)
Version:5.1.19 OS:Any
Assigned to: Sergei Glukhov CPU Architecture:Any
Tags: partition

[17 May 2007 5:25] Shane Bester
Description:
During some concurrent operations and an ALTER TABLE .. ADD PARTITION, 
in bug #28487 the show table status show an incorrect error message "Out of memory; restart server and try again (needed 2 bytes)". 

This is incorrect because my server has alot of free memory.

How to repeat:
will upload testcase soon.

Suggested fix:
Don't show this table in show table status.  But, try determine a cause for that error message anyway - and fix it.
[17 May 2007 5:56] Shane Bester
TESTCASE:
---------------------------

in connection 1:
-------------------

delimiter ;
drop table if exists t1;
create table t1_test(id int not null,name varchar(25),data
tinyblob,key(name),key(id)) engine=innodb partition by range(id) ( partition p00
values less than (5000));
drop procedure if exists p1;
delimiter //
create procedure p1()
begin
        declare counter int default 0;
        declare continue handler for sqlexception begin end;
        repeat
                insert into t1_test values
(floor(10000*rand()),'aaaaaaa','bbbbbbb');
                alter table t1_test add partition (partition `p08` values less
than (200000));
                alter table t1_test drop partition p08;
                set counter=counter+1;
        until counter > 1000000
        end repeat;

end //

delimiter ;

call p1();

in connection 2:
----------------------
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
SHOW TABLE STATUS;
<or more... > until you see that temp table in the output...
[29 May 2007 5:43] Sergei Glukhov
Duplicated with
Bug#28487 during alter table .. add partition temporary tables are visible to users