Code review comment for lp:~sergei.glushchenko/percona-xtrabackup/2.1-ST43302-xb-bug1340717

Revision history for this message
Sergei Glushchenko (sergei.glushchenko) wrote :

Hello Alexey,

Let me explain the bug more verbosely. New code has been added to
MySQL 5.6 to resurrect table locks. This code opens some tables. It
being done before purge_sys initialized and here is where the problem
is.

trx_resurrect_table_locks parses undo log and resurrects locks for
tables in it. It is done while purge_sys is still down. In order to
catch this crash we need to take a backup at the moment when there are
active transactions. Since our test suite communicate with MySQL via
mysql cli tool we cannot produce uncommitted transactions. Only option
for us is to run mysql in parallel and implement some hacks for
synchronization.

Subsequent operations are dict_check_tablespaces_and_store_max_id
invoked from innobase_start_or_create_for_mysql.

Hope this makes more sense.

« Back to merge proposal