While reducing server crash using reducer script, found that the reducer thread is hanging in "Opening tables" state in all instances. This stops testcase reducer to go forward.
This issue is happening with "REPLACE INTO ..." SQL statement.
Attached reducer script and sql files for reproducing the issue.
How to reproduce the issue:
1) Download attached reducer script and sql file
2) modify following parameters in reducer script as per your configuration MYBASE="/ssd/qa56opt/Percona-Server-5.6.21-rel69.0-670.Linux.x86_64" INPUTFILE="105b.sql" TOKUDBSQL="/ssd/qa56opt/randgen/conf/percona_qa/5.6/TokuDB.sql"
3) Run reducer script
4) Use status.sh script (lp:rangen/util/reducer/status.sh) to analyze the reducer status.
You will get client connection info from "=== Client version strings for easy access" to check the processlist
FYI
-bash-4.1$ for i in {1..10}; do /sdd/test/Percona-Server-5.6.21-rel69.0-670.Linux.x86_64/bin/mysql --socket=/dev/shm/1412828341/subreducer/$i/socket.sock -uroot -e "SHOW FULL PROCESSLIST";done
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| 5 | root | localhost | test | Query | 1462 | Opening tables | REPLACE INTO `table500_tokudb_default_int` ( `c7` ) VALUES
( 6792960 ) | 0 | 0 |
| 26 | root | localhost | NULL | Query | 0 | init | SHOW FULL PROCESSLIST | 0 | 0 |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
[.....]
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
| 5 | root | localhost | test | Query | 1459 | Opening tables | REPLACE INTO `table500_tokudb_default_int` ( `c7` ) VALUES
( 6792960 ) | 0 | 0 |
| 22 | root | localhost | NULL | Query | 0 | init | SHOW FULL PROCESSLIST | 0 | 0 |
+----+------+-----------+------+---------+------+----------------+-------------------------------------------------------------------------+-----------+---------------+
-bash-4.1$
Testcase:
While reducing server crash using reducer script, found that the reducer thread is hanging in "Opening tables" state in all instances. This stops testcase reducer to go forward.
This issue is happening with "REPLACE INTO ..." SQL statement.
Attached reducer script and sql files for reproducing the issue.
How to reproduce the issue:
MYBASE= "/ssd/qa56opt/ Percona- Server- 5.6.21- rel69.0- 670.Linux. x86_64"
INPUTFILE= "105b.sql"
TOKUDBSQL= "/ssd/qa56opt/ randgen/ conf/percona_ qa/5.6/ TokuDB. sql"
1) Download attached reducer script and sql file
2) modify following parameters in reducer script as per your configuration
3) Run reducer script
4) Use status.sh script (lp:rangen/util/reducer/status.sh) to analyze the reducer status.
You will get client connection info from "=== Client version strings for easy access" to check the processlist
FYI Percona- Server- 5.6.21- rel69.0- 670.Linux. x86_64/ bin/mysql --socket= /dev/shm/ 1412828341/ subreducer/ $i/socket. sock -uroot -e "SHOW FULL PROCESSLIST";done -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ tokudb_ default_ int` ( `c7` ) VALUES -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+ tokudb_ default_ int` ( `c7` ) VALUES -----+- ------- ---+--- ---+--- ------+ ------+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------+ ------- ----+-- ------- ------+
-bash-4.1$ for i in {1..10}; do /sdd/test/
+----+-
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+-
| 5 | root | localhost | test | Query | 1462 | Opening tables | REPLACE INTO `table500_
( 6792960 ) | 0 | 0 |
| 26 | root | localhost | NULL | Query | 0 | init | SHOW FULL PROCESSLIST | 0 | 0 |
+----+-
[.....]
+----+-
| Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined |
+----+-
| 5 | root | localhost | test | Query | 1459 | Opening tables | REPLACE INTO `table500_
( 6792960 ) | 0 | 0 |
| 22 | root | localhost | NULL | Query | 0 | init | SHOW FULL PROCESSLIST | 0 | 0 |
+----+-
-bash-4.1$