MDEV-9728 - Hard crash in metadata_lock_info
Disable output of MDL lock duration since there is no facility to retreive it properly.
This commit is contained in:
parent
4abeebeed7
commit
f289f3ee9c
@ -264,11 +264,11 @@ create table mysqltest2.t2 like test.t1;
|
|||||||
lock table test.t1 write, mysqltest2.t2 write;
|
lock table test.t1 write, mysqltest2.t2 write;
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock mysqltest2
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock mysqltest2 t2
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
create or replace table test.t1;
|
create or replace table test.t1;
|
||||||
ERROR 42000: A table must have at least 1 column
|
ERROR 42000: A table must have at least 1 column
|
||||||
show tables;
|
show tables;
|
||||||
@ -276,10 +276,10 @@ Tables_in_test
|
|||||||
t2
|
t2
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock mysqltest2
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock mysqltest2 t2
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||||
create or replace table mysqltest2.t2;
|
create or replace table mysqltest2.t2;
|
||||||
ERROR 42000: A table must have at least 1 column
|
ERROR 42000: A table must have at least 1 column
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
@ -291,11 +291,11 @@ create table mysqltest2.t2 like test.t1;
|
|||||||
lock table test.t1 write, mysqltest2.t2 write;
|
lock table test.t1 write, mysqltest2.t2 write;
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock mysqltest2
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock mysqltest2 t2
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
create or replace table test.t1 (a int) select 1 as 'a', 2 as 'a';
|
create or replace table test.t1 (a int) select 1 as 'a', 2 as 'a';
|
||||||
ERROR 42S21: Duplicate column name 'a'
|
ERROR 42S21: Duplicate column name 'a'
|
||||||
show tables;
|
show tables;
|
||||||
@ -303,10 +303,10 @@ Tables_in_test
|
|||||||
t2
|
t2
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock mysqltest2
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock mysqltest2 t2
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||||
create or replace table mysqltest2.t2 (a int) select 1 as 'a', 2 as 'a';
|
create or replace table mysqltest2.t2 (a int) select 1 as 'a', 2 as 'a';
|
||||||
ERROR 42S21: Duplicate column name 'a'
|
ERROR 42S21: Duplicate column name 'a'
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
@ -400,31 +400,31 @@ create table t1 (a int);
|
|||||||
lock table t1 write, t2 read;
|
lock table t1 write, t2 read;
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
# MDL_SHARED_READ MDL_EXPLICIT Table metadata lock test t2
|
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||||
create or replace table t1 (i int);
|
create or replace table t1 (i int);
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
# MDL_SHARED_READ MDL_EXPLICIT Table metadata lock test t2
|
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||||
create or replace table t1 like t2;
|
create or replace table t1 like t2;
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
# MDL_SHARED_READ MDL_EXPLICIT Table metadata lock test t2
|
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||||
create or replace table t1 select 1 as f1;
|
create or replace table t1 select 1 as f1;
|
||||||
select * from information_schema.metadata_lock_info;
|
select * from information_schema.metadata_lock_info;
|
||||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Global read lock
|
# MDL_INTENTION_EXCLUSIVE NULL Global read lock
|
||||||
# MDL_INTENTION_EXCLUSIVE MDL_EXPLICIT Schema metadata lock test
|
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||||
# MDL_SHARED_NO_READ_WRITE MDL_EXPLICIT Table metadata lock test t1
|
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||||
# MDL_SHARED_READ MDL_EXPLICIT Table metadata lock test t2
|
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||||
drop table t1;
|
drop table t1;
|
||||||
unlock tables;
|
unlock tables;
|
||||||
#
|
#
|
||||||
|
@ -81,25 +81,17 @@ int i_s_metadata_lock_info_fill_row(
|
|||||||
THD *thd = param->thd;
|
THD *thd = param->thd;
|
||||||
TABLE *table = param->table;
|
TABLE *table = param->table;
|
||||||
DBUG_ENTER("i_s_metadata_lock_info_fill_row");
|
DBUG_ENTER("i_s_metadata_lock_info_fill_row");
|
||||||
MDL_request mdl_request;
|
|
||||||
enum_mdl_duration mdl_duration;
|
|
||||||
MDL_context *mdl_ctx = mdl_ticket->get_ctx();
|
MDL_context *mdl_ctx = mdl_ticket->get_ctx();
|
||||||
enum_mdl_type mdl_ticket_type = mdl_ticket->get_type();
|
enum_mdl_type mdl_ticket_type = mdl_ticket->get_type();
|
||||||
MDL_key *mdl_key = mdl_ticket->get_key();
|
MDL_key *mdl_key = mdl_ticket->get_key();
|
||||||
MDL_key::enum_mdl_namespace mdl_namespace = mdl_key->mdl_namespace();
|
MDL_key::enum_mdl_namespace mdl_namespace = mdl_key->mdl_namespace();
|
||||||
mdl_request.init(mdl_key, mdl_ticket_type, MDL_STATEMENT);
|
|
||||||
mdl_ctx->find_ticket(&mdl_request, &mdl_duration);
|
|
||||||
table->field[0]->store((longlong) mdl_ctx->get_thread_id(), TRUE);
|
table->field[0]->store((longlong) mdl_ctx->get_thread_id(), TRUE);
|
||||||
table->field[1]->set_notnull();
|
table->field[1]->set_notnull();
|
||||||
table->field[1]->store(
|
table->field[1]->store(
|
||||||
metadata_lock_info_lock_mode[(int) mdl_ticket_type].str,
|
metadata_lock_info_lock_mode[(int) mdl_ticket_type].str,
|
||||||
metadata_lock_info_lock_mode[(int) mdl_ticket_type].length,
|
metadata_lock_info_lock_mode[(int) mdl_ticket_type].length,
|
||||||
system_charset_info);
|
system_charset_info);
|
||||||
table->field[2]->set_notnull();
|
table->field[2]->set_null();
|
||||||
table->field[2]->store(
|
|
||||||
metadata_lock_info_duration[(int) mdl_duration].str,
|
|
||||||
metadata_lock_info_duration[(int) mdl_duration].length,
|
|
||||||
system_charset_info);
|
|
||||||
table->field[3]->set_notnull();
|
table->field[3]->set_notnull();
|
||||||
table->field[3]->store(
|
table->field[3]->store(
|
||||||
metadata_lock_info_lock_name[(int) mdl_namespace].str,
|
metadata_lock_info_lock_name[(int) mdl_namespace].str,
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
FLUSH TABLES WITH READ LOCK;
|
FLUSH TABLES WITH READ LOCK;
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info ORDER BY lock_type DESC;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
MDL_SHARED MDL_EXPLICIT Global read lock
|
MDL_SHARED NULL Commit lock
|
||||||
MDL_SHARED MDL_EXPLICIT Commit lock
|
MDL_SHARED NULL Global read lock
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
|
@ -6,7 +6,7 @@ SELECT * FROM t1;
|
|||||||
a
|
a
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
MDL_SHARED_READ MDL_TRANSACTION Table metadata lock test t1
|
MDL_SHARED_READ NULL Table metadata lock test t1
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
|
@ -5,7 +5,7 @@ GET_LOCK('LOCK1',0)
|
|||||||
1
|
1
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
lock_mode lock_duration lock_type table_schema table_name
|
lock_mode lock_duration lock_type table_schema table_name
|
||||||
MDL_SHARED_NO_WRITE MDL_EXPLICIT User lock LOCK1
|
MDL_SHARED_NO_WRITE NULL User lock LOCK1
|
||||||
SELECT RELEASE_LOCK('LOCK1');
|
SELECT RELEASE_LOCK('LOCK1');
|
||||||
RELEASE_LOCK('LOCK1')
|
RELEASE_LOCK('LOCK1')
|
||||||
1
|
1
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
FLUSH TABLES WITH READ LOCK;
|
FLUSH TABLES WITH READ LOCK;
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info ORDER BY lock_type DESC;
|
--sorted_result
|
||||||
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
SELECT lock_mode, lock_duration, lock_type, table_schema, table_name FROM information_schema.metadata_lock_info;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user