mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
More DBUG statements
Replaced COND_refresh with COND_global_read_lock becasue of a bug in NTPL threads when using different mutexes as arguments to pthread_cond_wait() The original code caused a hang in FLUSH TABLES WITH READ LOCK in some circumstances because pthread_cond_broadcast() was not delivered to other threads. This fixes: Bug#16986: Deadlock condition with MyISAM tables Bug#20048: FLUSH TABLES WITH READ LOCK causes a deadlock
This commit is contained in:
@@ -107,3 +107,35 @@ show columns from t1;
|
||||
connection locker;
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#16986 - Deadlock condition with MyISAM tables
|
||||
#
|
||||
connection locker;
|
||||
use mysql;
|
||||
LOCK TABLES columns_priv WRITE, db WRITE, host WRITE, user WRITE;
|
||||
FLUSH TABLES;
|
||||
--sleep 1
|
||||
#
|
||||
connection reader;
|
||||
use mysql;
|
||||
#NOTE: This must be a multi-table select, otherwise the deadlock will not occur
|
||||
send SELECT user.Select_priv FROM user, db WHERE user.user = db.user LIMIT 1;
|
||||
--sleep 1
|
||||
#
|
||||
connection locker;
|
||||
# Make test case independent from earlier grants.
|
||||
--replace_result "Table is already up to date" "OK"
|
||||
OPTIMIZE TABLES columns_priv, db, host, user;
|
||||
UNLOCK TABLES;
|
||||
#
|
||||
connection reader;
|
||||
reap;
|
||||
use test;
|
||||
#
|
||||
connection locker;
|
||||
use test;
|
||||
#
|
||||
connection default;
|
||||
|
||||
# End of 5.0 tests
|
||||
|
||||
Reference in New Issue
Block a user