-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
64 changed files
with
779 additions
and
305 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
CREATE TABLE t1(a INT); | ||
SELECT GET_LOCK("l1", 0); | ||
GET_LOCK("l1", 0) | ||
1 | ||
connect con1,localhost,root,,; | ||
LOCK TABLES t1 WRITE; | ||
connection default; | ||
set debug_sync='mdl_acquire_lock_wait SIGNAL ftwrl'; | ||
FLUSH TABLES WITH READ LOCK; | ||
connection con1; | ||
set debug_sync='now WAIT_FOR ftwrl'; | ||
SELECT GET_LOCK("l1", 1000); | ||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction | ||
disconnect con1; | ||
connection default; | ||
SELECT RELEASE_LOCK("l1"); | ||
RELEASE_LOCK("l1") | ||
1 | ||
UNLOCK TABLES; | ||
DROP TABLE t1; | ||
set debug_sync='reset'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# MDEV-20946 Hard FTWRL deadlock under user level locks | ||
# | ||
# Deadlock detector should resolve conflicts between FTWRL and user locks. | ||
|
||
--source include/have_debug_sync.inc | ||
--source include/count_sessions.inc | ||
|
||
CREATE TABLE t1(a INT); | ||
SELECT GET_LOCK("l1", 0); | ||
|
||
connect(con1,localhost,root,,); | ||
LOCK TABLES t1 WRITE; | ||
|
||
connection default; | ||
set debug_sync='mdl_acquire_lock_wait SIGNAL ftwrl'; | ||
send FLUSH TABLES WITH READ LOCK; | ||
# At this point "default" is waiting for tables to be unlocked from | ||
# LOCK TABLES WRITE issued by "con1". | ||
|
||
connection con1; | ||
set debug_sync='now WAIT_FOR ftwrl'; | ||
# The lock in the following GET_LOCK cannot be acquired since "default" holds | ||
# a lock on "l1" and is waiting in FLUSH TABLES for con1. | ||
--error ER_LOCK_DEADLOCK | ||
SELECT GET_LOCK("l1", 1000); | ||
disconnect con1; # Performs an implicit UNLOCK TABLES. | ||
|
||
connection default; | ||
reap; | ||
SELECT RELEASE_LOCK("l1"); | ||
UNLOCK TABLES; | ||
DROP TABLE t1; | ||
|
||
set debug_sync='reset'; | ||
|
||
--source include/wait_until_count_sessions.inc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.