Bug #27539 Falcon: crash after interruption of procedure
Submitted: 30 Mar 2007 2:48 Modified: 13 Apr 2007 9:00
Reporter: Peter Gulutzan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Falcon storage engine Severity:S3 (Non-critical)
Version:5.2.4-falcon-alpha-debug OS:Linux (SUSE 10.0 / 64-bit)
Assigned to: CPU Architecture:Any

[30 Mar 2007 2:48] Peter Gulutzan
Description:
I have a Falcon table with two columns, no indexes.
I create a procedure which inserts into the table,
with random character values and character lengths.
The procedure commits after every 100 inserts
(if it commits after every 1 insert, there's no problem).
I run the procedure until at least 1000 rows are inserted.
I type control-C to interrupt the procedure.
Crash.

ChangeSet@1.2529, 2007-03-29

How to repeat:
delimiter //

set @@autocommit=0//

create table t15 (s1 varchar(500), s2 varchar(500)) engine=falcon//

create procedure p15 ()
begin
declare v int default 0;
while v < 2000 do
  if v mod 100 = 0 then select v; commit; end if;
  insert into t15 values (repeat(char(rand()*255),rand()*100),repeat(char(rand()*255),rand()*100));
  delete from t15 where s1 = repeat(char(rand()*255),rand()*100) and s2 = repeat(char(rand()*255),rand()*100);
  set v = v + 1;
  end while;
end//

call p15()//

Example:

mysql> call p15()//
+------+
| v    |
+------+
|    0 |
+------+
1 row in set (0.01 sec)

+------+
| v    |
+------+
|  100 |
+------+
1 row in set (0.17 sec)

+------+
| v    |
+------+
|  200 |
+------+
1 row in set (0.51 sec)

+------+
| v    |
+------+
|  300 |
+------+
1 row in set (0.97 sec)

+------+
| v    |
+------+
|  400 |
+------+
1 row in set (1.32 sec)

+------+
| v    |
+------+
|  500 |
+------+
1 row in set (1.65 sec)

+------+
| v    |
+------+
|  600 |
+------+
1 row in set (2.03 sec)

+------+
| v    |
+------+
|  700 |
+------+
1 row in set (2.46 sec)

+------+
| v    |
+------+
|  800 |
+------+
1 row in set (2.95 sec)

+------+
| v    |
+------+
|  900 |
+------+
1 row in set (3.49 sec)

+------+
| v    |
+------+
| 1000 |
+------+
1 row in set (4.09 sec)

Query aborted by Ctrl+C
ERROR 2013 (HY000): Lost connection to MySQL server during query
[30 Mar 2007 3:37] MySQL Verification Team
Thank you for the bug report. Verified as described.

+------+
| v    |
+------+
| 1000 | 
+------+
1 row in set (6.14 sec)

Query aborted by Ctrl+C
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
[6 Apr 2007 15:38] Hakan Küçükyılmaz
Can't repeat with latest change set 1.2559, 2007-04-06 on Linux 64-bit.

+------+
| v    |
+------+
| 1400 |
+------+
1 row in set (30.87 sec)

Query aborted by Ctrl+C
ERROR 1317 (70100): Query execution was interrupted

[17:37] root@test>select count(*) from t15;
+----------+
| count(*) |
+----------+
|     4164 |
+----------+
1 row in set (0.01 sec)

Best regards, Hakan
[13 Apr 2007 9:00] MC Brown
A note has been added to the 5.2.4 changelog.
[10 Jul 2007 19:09] MC Brown
This bug report entry has been moved to the 6.0.0 Falcon changelog.