Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5, 10.6
Description
Discussing with Marko.
# mysqld options required for replay: --innodb_fatal_semaphore_wait_threshold=7
|
SET @@global.innodb_disallow_writes=ON;
|
CREATE TABLE t (c INT);
|
Then connect with another client:
10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug) |
10.6.0>SHOW FULL PROCESSLIST;
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| 4 | root | localhost | test | Query | 225 | creating table | CREATE TABLE t (c INT) | 0.000 |
|
| 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
2 rows in set (0.000 sec)
|
...
|
10.6.0>SHOW FULL PROCESSLIST;
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| 4 | root | localhost | test | Query | 604 | creating table | CREATE TABLE t (c INT) | 0.000 |
|
| 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
2 rows in set (0.000 sec)
|
This looks normal, except that it should abort after 7 seconds due to the setting. And, CTRL+C kills the query but makes the client hang:
10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug) |
10.6.0>CREATE TABLE t (c INT);
|
^CCtrl-C -- query killed. Continuing normally.
|
And in the other client we can then see a hanging killed thread:
10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug) |
10.6.0>SHOW FULL PROCESSLIST;
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| 4 | root | localhost | test | Killed | 683 | creating table | CREATE TABLE t (c INT) | 0.000 |
|
| 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
2 rows in set (0.000 sec)
|
Another CTRL+C in the CLI lets us loose connection with the server (ERROR 2013 (HY000): Lost connection to MySQL server during query), and we can then exit to the command line and re-enter the client, but the killed hanging CREATE TABLE remains.
10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug) |
10.6.0>SHOW FULL PROCESSLIST;
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| Id | User | Host | db | Command | Time | State | Info | Progress |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
| 4 | root | localhost | test | Killed | 811 | creating table | CREATE TABLE t (c INT) | 0.000 |
|
| 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 |
|
| 8 | root | localhost | test | Sleep | 83 | | NULL | 0.000 |
|
+----+------+-----------+------+---------+------+----------------+------------------------+----------+
|
3 rows in set (0.001 sec)
|
Other various related testcases give other outcomes it seems (more testing to be done).
Attachments
Issue Links
- is blocked by
-
MDEV-27934 Test SST after removing innodb_disallow_writes
-
- Closed
-
- is duplicated by
-
MDEV-26491 SIGABRT when setting innodb_disallow_writes and --innodb-fatal-semaphore-wait-threshold=2 and attempting DROP TABLE
-
- Closed
-
- relates to
-
MDEV-25975 Turning on innodb_disallow_writes will cause mysqladmin shutdown to hang
-
- Closed
-
-
MDEV-27053 Crash on assertion failure in btr0cur.cc - apparent index corruption
-
- Closed
-
-
MDEV-28185 InnoDB generates redundant log checkpoints
-
- Closed
-
-
MDEV-32115 Assertion `!recv_no_log_write' failed in bool log_checkpoint(bool)
-
- Open
-
-
MDEV-5336 Implement BACKUP STAGE for safe external backups
-
- Closed
-
-
MDEV-21452 Use condition variables and normal mutexes instead of InnoDB os_event and mutex
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
Discussing with Marko.
{noformat} # mysqld options required for replay: --innodb_fatal_semaphore_wait_threshold=7 SET @@global.innodb_disallow_writes=ON; CREATE TABLE t (c INT); {noformat} Then connect with another client: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 225 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) ... 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 604 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} This looks normal, except that it should abort after 7 seconds due to the setting. And, CTRL+C kills the query but makes the client hang: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>CREATE TABLE t (c INT); ^CCtrl-C -- query killed. Continuing normally. {noformat} And in the other client we can then see a hanging killed thread: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 683 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} Another CTRL+C in the CLI lets us loose connection with the server (ERROR 2013 (HY000): Lost connection to MySQL server during query), and we can then exit to the command line and re-enter the client, but the killed hanging CREATE TABLE remains. {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 811 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | | 8 | root | localhost | test | Sleep | 83 | | NULL | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 3 rows in set (0.001 sec) {noformat} Other various related testcases give other outcomes it seems (more testing to be done). |
Discussing with Marko.
{noformat} # mysqld options required for replay: --innodb_fatal_semaphore_wait_threshold=7 SET @@global.innodb_disallow_writes=ON; CREATE TABLE t (c INT); {noformat} Then connect with another client: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 225 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) ... 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 604 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} This looks normal, except that it should abort after 7 seconds due to the setting. And, CTRL+C kills the query but makes the client hang: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>CREATE TABLE t (c INT); ^CCtrl-C -- query killed. Continuing normally. {noformat} And in the other client we can then see a hanging killed thread: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 683 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} Another CTRL+C in the CLI lets us loose connection with the server (ERROR 2013 (HY000): Lost connection to MySQL server during query), and we can then exit to the command line and re-enter the client, but the killed hanging CREATE TABLE remains. {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 811 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | | 8 | root | localhost | test | Sleep | 83 | | NULL | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 3 rows in set (0.001 sec) {noformat} Also note: mysqladmin based shutdown hangs also when attempted (and needs to be killed / CTRL+C'd). Other various related testcases give other outcomes it seems (more testing to be done). |
Link |
This issue relates to |
Component/s | Galera SST [ 10121 ] | |
Component/s | Locking [ 10900 ] | |
Assignee | Marko Mäkelä [ marko ] | Jan Lindström [ jplindst ] |
Description |
Discussing with Marko.
{noformat} # mysqld options required for replay: --innodb_fatal_semaphore_wait_threshold=7 SET @@global.innodb_disallow_writes=ON; CREATE TABLE t (c INT); {noformat} Then connect with another client: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 225 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) ... 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 604 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} This looks normal, except that it should abort after 7 seconds due to the setting. And, CTRL+C kills the query but makes the client hang: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>CREATE TABLE t (c INT); ^CCtrl-C -- query killed. Continuing normally. {noformat} And in the other client we can then see a hanging killed thread: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 683 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} Another CTRL+C in the CLI lets us loose connection with the server (ERROR 2013 (HY000): Lost connection to MySQL server during query), and we can then exit to the command line and re-enter the client, but the killed hanging CREATE TABLE remains. {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 811 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | | 8 | root | localhost | test | Sleep | 83 | | NULL | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 3 rows in set (0.001 sec) {noformat} Also note: mysqladmin based shutdown hangs also when attempted (and needs to be killed / CTRL+C'd). Other various related testcases give other outcomes it seems (more testing to be done). |
Discussing with Marko.
{noformat} # mysqld options required for replay: --innodb_fatal_semaphore_wait_threshold=7 SET @@global.innodb_disallow_writes=ON; CREATE TABLE t (c INT); {noformat} Then connect with another client: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 225 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) ... 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Query | 604 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} This looks normal, except that it should abort after 7 seconds due to the setting. And, CTRL+C kills the query but makes the client hang: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>CREATE TABLE t (c INT); ^CCtrl-C -- query killed. Continuing normally. {noformat} And in the other client we can then see a hanging killed thread: {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 683 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 2 rows in set (0.000 sec) {noformat} Another CTRL+C in the CLI lets us loose connection with the server (ERROR 2013 (HY000): Lost connection to MySQL server during query), and we can then exit to the command line and re-enter the client, but the killed hanging CREATE TABLE remains. {noformat:title=10.6.0 bfb4761ca04704d68dba51f76d7c9967f880a6ee (Debug)} 10.6.0>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ | 4 | root | localhost | test | Killed | 811 | creating table | CREATE TABLE t (c INT) | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | | 8 | root | localhost | test | Sleep | 83 | | NULL | 0.000 | +----+------+-----------+------+---------+------+----------------+------------------------+----------+ 3 rows in set (0.001 sec) {noformat} Other various related testcases give other outcomes it seems (more testing to be done). |
Fix Version/s | 10.6 [ 24028 ] |
Link |
This issue is duplicated by |
Link |
This issue relates to |
Labels | affects-tests |
Priority | Major [ 3 ] | Critical [ 2 ] |
Assignee | Jan Lindström [ jplindst ] | Seppo Jaakola [ seppo ] |
Priority | Critical [ 2 ] | Major [ 3 ] |
Link |
This issue relates to |
Assignee | Seppo Jaakola [ seppo ] | Jan Lindström [ jplindst ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Attachment | galera_sst_rsync_load.cnf [ 60857 ] | |
Attachment | galera_sst_rsync_load.test [ 60858 ] |
Status | In Progress [ 3 ] | Stalled [ 10000 ] |
Workflow | MariaDB v3 [ 119061 ] | MariaDB v4 [ 143678 ] |
Link | This issue relates to TODO-3289 [ TODO-3289 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Affects Version/s | 10.2 [ 14601 ] | |
Affects Version/s | 10.3 [ 22126 ] | |
Affects Version/s | 10.4 [ 22408 ] | |
Affects Version/s | 10.5 [ 23123 ] |
Fix Version/s | 10.5 [ 23123 ] |
Link |
This issue is blocked by |
Assignee | Jan Lindström [ jplindst ] | Marko Mäkelä [ marko ] |
Status | Stalled [ 10000 ] | In Review [ 10002 ] |
Assignee | Marko Mäkelä [ marko ] | Jan Lindström [ jplindst ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Assignee | Jan Lindström [ jplindst ] | Marko Mäkelä [ marko ] |
Status | Stalled [ 10000 ] | In Review [ 10002 ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Assignee | Marko Mäkelä [ marko ] | Jan Lindström [ jplindst ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Assignee | Jan Lindström [ jplindst ] | Matthias Leich [ mleich ] |
Assignee | Matthias Leich [ mleich ] | Jan Lindström [ jplindst ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | In Testing [ 10301 ] |
Assignee | Jan Lindström [ jplindst ] | Matthias Leich [ mleich ] |
Assignee | Matthias Leich [ mleich ] | Jan Lindström [ jplindst ] |
Status | In Testing [ 10301 ] | Stalled [ 10000 ] |
Link |
This issue relates to |
Status | Stalled [ 10000 ] | In Progress [ 3 ] |
Fix Version/s | 10.3.35 [ 27512 ] | |
Fix Version/s | 10.4.25 [ 27510 ] | |
Fix Version/s | 10.5.16 [ 27508 ] | |
Fix Version/s | 10.6.8 [ 27506 ] | |
Fix Version/s | 10.7.4 [ 27504 ] | |
Fix Version/s | 10.8.3 [ 27502 ] | |
Fix Version/s | 10.9.1 [ 27114 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Link | This issue relates to MDEV-32115 [ MDEV-32115 ] |
Note to self: other things to try later:
1) Add a failed CREATE statement before disallowing writes (ENGINE=none for example)
2) Leave off innodb_fatal_semaphore_wait_threshold