Avoiding InnoDB corruption

Hi all,

we just got hit twice by mysql bug

61104 (InnoDB: Failing assertion: page_get_n_recs(page) > 1)

which not only crashes the mysql server (very bad) but leaves the innodb files in such a state that the cannot be recovered (very very bad), at least not without special tools. Fortunately our backup/failover strategoy worked as designed.

So far so good, we’re now migrating to latest and greatest 5.5.29 which may or may not solve the issue and set innodb_change_buffering=inserts which may or may not solve the issue. At least we’ve done our best with regards to the aforementioned bug.

In a broader sense this means we’ve learned that there are settings in the my.cnf file like innodb_change_buffering that may decrease performance but avoid some crashes.

Is anybody aware of other DEFAULT settings that are known to create problems (I’m not talking about settings like innodb-flush-log-at-trx-commit or sync_binlog which have safe defaults).

Thanks for the advice and best regards