Bug #22154 Crash after 500 alters, 500 inserts, and a few updates
Submitted: 9 Sep 2006 7:46 Modified: 20 May 2007 7:41
Reporter: Georg Richter
Status: Closed
Category:Server: Falcon Severity:S3 (Non-critical)
Version:5.2 OS:Any
Assigned to: Bugs System Target Version:

[9 Sep 2006 7:46] Georg Richter
Description:
I create a table with one column, no indexes. I say ALTER 500 times to add columns. I say
INSERT 500 times to add rows with mostly default values. I try to UPDATE 500 times but
there is a crash during the updating (mysqld reports "Stalled threads / Killed"). The
same procedure with a MyISAM table takes 40 seconds.

How to repeat:
delimiter //

create procedure pj9 () begin declare v int default 1; drop table if exists tj9; create
table tj9 (s0 int) engine=jstar; while v < 500 do select 'alter',v; set @v =
concat('alter table tj9 add column s',v,' char(64) default ''Hello World'''); prepare
stmt1 from @v; execute stmt1; set v = v + 1; end while; set v = 1; while v < 500 do
select 'insert',v; insert into tj9 (s1) values (v); set v = v + 1; end while; set v = 1;
while v < 500 do select 'update',v; set @v = concat('update tj9 set
s',v,'=concat(s2,s1)'); prepare stmt1 from @v; execute stmt1; set v = v + 1; end while;
end//

call pj9()//
[12 Sep 2006 18:10] Calvin Sun
Not a falcon bug according to Hakan.
[5 Oct 2006 16:38] Peter Gulutzan
I haven't seen confirmation from Hakan that this is not a bug.
[5 Oct 2006 17:50] Hakan Kuecuekyilmaz
This passes on a single core Linux 32-bit, change set 1.2368, 2006-10-04

Test(s) which will be run though they are marked as disabled:
  falcon_bug_158       : Mantis bug #158 2006-08-24 hakank (Get pushbuild green)

TEST                           RESULT         TIME (ms)
-------------------------------------------------------

falcon_bug_158                 [ pass ]         593840
-------------------------------------------------------
Stopping All Servers

However, on a multi core Linux 64-bit this test hangs.

Regards, Hakan
[26 Jan 2007 19:51] Ann Harrison
The crash doesn't happen on Fluffy or my windows box.  The
performance, on the other hand, is distinctly odd, and probably
relates to having 500 formats of a single table.
[18 May 2007 2:28] Calvin Sun
Hakan - could you please verify this one again? thanks.
[18 May 2007 12:13] Hakan Kuecuekyilmaz
falcon_bug_22154 still hangs on Linux 64-bit.

./mysql-test-run.pl --enable-disabled --testcase-timeout=600 falcon_bug_22154

I stopped the test after 2.5 hours run time. It hangs around IndexRootPage:594

for (Bdb *bdb = findInsertionLeaf (dbb, indexId, &searchKey, recordNumber, transId);
bdb;
		 bdb = dbb->handoffPage (bdb, page->nextPage, PAGE_btree, Exclusive))

I see constant disk write activity and recordNumber is growing steady. While debugging
recordNumber was 109708.
[18 May 2007 12:38] Hakan Kuecuekyilmaz
Crash does not happen anymore. I will report the hang as new bug.
[20 May 2007 7:41] MC Brown
A note has been added to the 6.0.1 changelog.