Bug #87057 Setting innodb-thread-concurrency=1 cause queries to hang
Submitted: 13 Jul 2017 9:32 Modified: 9 Nov 2017 12:56
Reporter: Ramesh Sivaraman Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:8.0.1 OS:Ubuntu
Assigned to: CPU Architecture:Any
Tags: debug

[13 Jul 2017 9:32] Ramesh Sivaraman
Description:

Setting innodb-thread-concurrency=1 cause queries to hang.

Startup command

$ /qa/ms/MS110717-mysql-8.0.1-dmr-linux-x86_64-debug//bin/mysqld --no-defaults --innodb-thread-concurrency=1 --basedir=/qa/ms/MS110717-mysql-8.0.1-dmr-linux-x86_64-debug/ --datadir=/qa/ms/testdir/data --tmpdir=/qa/ms/testdir/data --core-file --port=57640 --pid_file=/qa/ms/testdir/pid.pid --socket=/qa/ms/testdir/socket.sock --log-output=none --log-error=/qa/ms/testdir/master.err &
[1] 22016
$

mysql> show processlist;
+----+------+-----------+------+---------+------+----------------------+------------------------------------+
| Id | User | Host      | db   | Command | Time | State                | Info                               |
+----+------+-----------+------+---------+------+----------------------+------------------------------------+
|  3 | root | localhost | NULL | Query   |  146 | checking permissions | CREATE DATABASE IF NOT EXISTS test |
|  4 | root | localhost | NULL | Query   |    0 | starting             | show processlist                   |
+----+------+-----------+------+---------+------+----------------------+------------------------------------+
2 rows in set (0.00 sec)

mysql> 

How to repeat:

1) start mysqld with --innodb-thread-concurrency=1
2) run "CREATE DATABASE IF NOT EXISTS test"
[13 Jul 2017 10:36] MySQL Verification Team
Hello Ramesh,

Thank you for the report.
Verified as described with 8.0.1 build.

Thanks,
Umesh
[25 Jul 2017 9:58] MySQL Verification Team
Hi Ramesh,

Confirmed that 8.0.2 build(release/debug) and observed that it is no longer hanging. Could you please confirm this at your end?

##
-- 8.0.2

rm -rf 87057
bin/mysqld  --initialize-insecure --basedir=$PWD --datadir=$PWD/87057 -v
bin/mysqld --no-defaults --innodb-thread-concurrency=1 --basedir=$PWD --datadir=$PWD/87057 --core-file --socket=/tmp/mysql_ushastry.sock  --port=3307 --log-error=$PWD/87057/log.err 2>&1 &

[umshastr@hod03]/export/umesh/server/binaries/Trunk/87057/mysql-8.0.2-dmr-linux-glibc2.12-x86_64: bin/mysql -uroot -S /tmp/mysql_ushastry.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 8.0.2-dmr MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

root@localhost [(none)]> system cat docs/INFO_SRC
commit: 88d44cf92038947d40b7af4dc27295ccb611d0fc
date: 2017-06-27 13:00:43 +0200
build-date: 2017-06-27 13:44:43 +0200
short: 88d44cf
branch: mysql-8.0.2-dmr-release

MySQL source 8.0.2

root@localhost [(none)]> CREATE DATABASE IF NOT EXISTS test;
Query OK, 1 row affected (0.00 sec)

root@localhost [(none)]>

Thanks,
Umesh
[9 Nov 2017 12:56] Erlend Dahl
It's working as of 8.0.4.