MySQL 5.1.33リリース
MySQL Enterprise Serverの5.1.33がリリースされました。Community Serverもほどなくリリースされると思います(2009/04/02追記 リリースされました)。5.1.33には59個のバグフィックスと、3個の仕様変更があります。
今回は10行でサーバを落とすバグのご紹介です。Bug#43203です。
mysql> create table ibtest -> (c1 tinyint primary key auto_increment, -> c2 varchar(10)) engine = innodb; Query OK, 0 rows affected (0.02 sec) mysql> insert into ibtest (c2) values ('a'); Query OK, 1 row affected (0.00 sec) mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 4 rows affected (0.00 sec) Records: 4 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 8 rows affected (0.00 sec) Records: 8 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 16 rows affected (0.00 sec) Records: 16 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; Query OK, 32 rows affected (0.00 sec) Records: 32 Duplicates: 0 Warnings: 0 mysql> insert into ibtest (c2) select c2 from ibtest; ERROR 1062 (23000): Duplicate entry '127' for key 'PRIMARY' mysql> insert into ibtest (c2) select c2 from ibtest; ERROR 2013 (HY000): Lost connection to MySQL server during query
InnoDBでauto_increment列がオーバーフローするとサーバがクラッシュするというバグです。リグレッションバグとのことなので過去のバージョンがすべてクラッシュするわけではありませんが、念のためチェックしておくことをおすすめします。