Description:
After recovery from a kill -9 on a server that was running ONLINE ALTER, Falcon metadata and FRMs have diverged. This results in errors such as:
Svoj reports that Falcon does not implement phase4 of online alter, in which the server notifies the engine that the FRM update is complete.
Ann reports that in order for things to remain roughly consistent, table and index creation and dropping must be performed in a specific order. For example, a key should be dropped in the FRM first and in Falcon second, so that the worst that can happen is an extra index in Falcon that is not being referenced.
Example log:
http://loki41.norway.sun.com/~bteam/pb2/web_loki41.py?action=archive_download&archive_id=3...
Server error log says:
# 21:42:38 090307 21:42:38 [ERROR] Server is attempting to access a table ./test/t,
# 21:42:38 which doesn't exist in Falcon.
Client returns:
Table 'test.t' doesn't exist
How to repeat:
clone the mysql-test-extra-6.0 tree, then run:
$ cd mysql-test/gentest
$ perl pb2gentest.pl /path/to/6.0-bzr /tmp/vardir - falcon_recovery