Last few weeks I noticed a problem in the replication, where on and off the replication SQL thread fails to truncate a table with the following error:
ERROR 1105 (HY000): MyISAM table 'XXXX' is in use (most likely by a MERGE table). Try FLUSH TABLES. |
So, I was keep skipping the error, as it was fuzzy why when only one thread is actually executing (no other threads on DB other than slave SQL thread); and today it happened, and I got a simple repro:
mysql> drop table if exists t1, t2, merge; Query OK, 0 rows affected, 3 warnings (0.05 sec) mysql> create table t1(c1 int)Engine=MyISAM; Query OK, 0 rows affected (0.03 sec) mysql> create table t2(c1 int)Engine=MyISAM; Query OK, 0 rows affected (0.06 sec) mysql> insert into t1 values(10); Query OK, 1 row affected (0.04 sec) mysql> insert into t2 values(20); Query OK, 1 row … |