Bug #22154 Crash after 500 alters, 500 inserts, and a few updates
Submitted: 9 Sep 2006 5:46 Modified: 20 May 2007 5:41
Reporter: Georg Richter Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:5.2 OS:Any
Assigned to: Hakan Küçükyılmaz CPU Architecture:Any

[9 Sep 2006 5:46] Georg Richter
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 16:10] Calvin Sun
Not a falcon bug according to Hakan.
[5 Oct 2006 14:38] Peter Gulutzan
I haven't seen confirmation from Hakan that this is not a bug.
[5 Oct 2006 15:50] Hakan Küçükyılmaz
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 18: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 0:28] Calvin Sun
Hakan - could you please verify this one again? thanks.
[18 May 2007 10:13] Hakan Küçükyılmaz
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 10:38] Hakan Küçükyılmaz
Crash does not happen anymore. I will report the hang as new bug.
[20 May 2007 5:41] MC Brown
A note has been added to the 6.0.1 changelog.