Nasty InnoDB regression in MySQL 5.5.25

We just ran into a nasty InnoDB bug that only seems to exist in MySQL 5.5.25:

An InnoDB update that modifies a rows primary key can trigger some recursive behavior that creates new rows until all disk space is exceeded. This does not affect all primary key updates in general but only gets triggered when a few other conditions are also met, so you’re not too likely to run into it, but if you do your mysqld server will waste a lot of IO bandwidth and storage space on this and will usually eventually run out of disk space.

The bug report for this, including a minimized test case, is: http://bugs.mysql.com/65745 and my current best guess is that it was introduced with the fix for http://bugs.mysql.com/65111 which changes some aspects of the visibility rules within InnoDB.

So if you are using InnoDB you should IMHO consider to stay with MySQL 5.5.24 max. until this is fixed.

MariaDB 5.5.25 with XtraDB is not affected though.

Update: MariaDB 5.5.25 with original InnoDB instead of XtraDB is affected though.

Update #2: i was actually testing against the wrong server, MariaDB does not seem to be affected either way after all …

Update #3: switching of the index_merge optimizer feature seems to be a viable workaround:

optimizer_switch = 'index_merge=off';

Update #4: Oracle seems to have pulled the 5.5.25 release for now, the Download page now lists 5.5.24 as the most current version again for now. Latest message on the announce list is still “MySQL Community Server 5.5.25 has been released” though

Update #5: Version 5.5.25a with a fix applied seems to be available from the MySQL download site now, but still silence on the announce list …

Update #6: it’s on announce@ now