i) Reproducible with opt build + without tokudb plugin and I_S tokudb tables
mysql> show processlist;
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| 4 | root | localhost | test | Query | 458 | Opening tables | REPLACE INTO `table500_tokudb_default_int` ( `c7` ) VALUES
( 6792960 ) | 0 | 0 |
| 6 | root | localhost | test | Query | 0 | init | show processlist | 0 | 0 |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
2 rows in set (0.01 sec)
mysql> show tables like 'table500_tokudb_default_int';
Empty set (0.00 sec)
mysql> select database();
+------------+
| database() |
+------------+
| test |
+------------+
1 row in set (0.00 sec)
mysql>
In above testcase table "table500_tokudb_default_int" is not present in test database, but in show processlist "REPLACE INTO `table500_tokudb_default_int`..." is in hung state.
ii) When I removed "LOCK BINLOG FOR BACKUP" statement from SQL file, it became non-reproducible with optimized build ( Tested with and without tokudb plugin)
Some of the findings with optimized build
i) Reproducible with opt build + without tokudb plugin and I_S tokudb tables
mysql> show processlist; -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ tokudb_ default_ int` ( `c7` ) VALUES -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+
+----+-
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+-
| 4 | root | localhost | test | Query | 458 | Opening tables | REPLACE INTO `table500_
( 6792960 ) | 0 | 0 |
| 6 | root | localhost | test | Query | 0 | init | show processlist | 0 | 0 |
+----+-
2 rows in set (0.01 sec)
mysql> show tables like 'table500_ tokudb_ default_ int';
Empty set (0.00 sec)
mysql> select database();
+------------+
| database() |
+------------+
| test |
+------------+
1 row in set (0.00 sec)
mysql>
In above testcase table "table500_ tokudb_ default_ int" is not present in test database, but in show processlist "REPLACE INTO `table500_ tokudb_ default_ int`... " is in hung state.
ii) When I removed "LOCK BINLOG FOR BACKUP" statement from SQL file, it became non-reproducible with optimized build ( Tested with and without tokudb plugin)