As you can read from my Innodb Architecture and Performance
Optimization presentation Innodb automatically manages undo area
in system tablespace so you never need to care about it. I
present it as positive feature reducing administration effort
needed but it also can cause a troubles as it happened for me
today:
InnoDB: 11 transaction(s) which must be rolled back or cleaned
up
InnoDB: in total 292735956 row operations to undo
InnoDB: Trx id counter is 0 96267520
So MySQL Server was restarted (it likely was admin mistake in
this case) and spend hours to undo almost 300.000.000 of row
operations being unavailable during all of this time.
This was MySQL 4.1, MySQL 5.0 would do better by performing roll
back in background but affected data still might not be fully
available.
Why one would use such large transaction ? Well it was
development mistake. Long and complex data load process was
performed in …
[Read more]