Commit 52275250 authored by Marc Alff's avatar Marc Alff

Local merge

parents 033c6c39 8690e937
This diff is collapsed.
...@@ -16,6 +16,7 @@ operation, number_of_bytes, ...@@ -16,6 +16,7 @@ operation, number_of_bytes,
substring(object_name, locate("no_index_tab", object_name)) as short_name substring(object_name, locate("no_index_tab", object_name)) as short_name
from performance_schema.events_waits_history_long from performance_schema.events_waits_history_long
where operation not like "tell" where operation not like "tell"
and event_name like "wait/io/file/myisam/%"
order by thread_id, event_id; order by thread_id, event_id;
event_name short_source operation number_of_bytes short_name event_name short_source operation number_of_bytes short_name
wait/io/file/myisam/kfile mi_create.c: create NULL no_index_tab.MYI wait/io/file/myisam/kfile mi_create.c: create NULL no_index_tab.MYI
......
flush status;
SET @saved_thread_cache_size = @@global.thread_cache_size; SET @saved_thread_cache_size = @@global.thread_cache_size;
set global thread_cache_size = 0; set global thread_cache_size = 0;
show variables like "thread_cache_size"; show variables like "thread_cache_size";
...@@ -32,3 +33,7 @@ select @thread_id_increment; ...@@ -32,3 +33,7 @@ select @thread_id_increment;
@thread_id_increment @thread_id_increment
1 1
set global thread_cache_size = @saved_thread_cache_size; set global thread_cache_size = @saved_thread_cache_size;
show status like "performance_schema_thread%";
Variable_name Value
Performance_schema_thread_classes_lost 0
Performance_schema_thread_instances_lost 0
...@@ -46,6 +46,13 @@ insert into no_index_tab set a = 'foo', b = 1; ...@@ -46,6 +46,13 @@ insert into no_index_tab set a = 'foo', b = 1;
# Verification # Verification
# Note that mi_create.c contains mysql_file_tell() calls in debug only, # Note that mi_create.c contains mysql_file_tell() calls in debug only,
# so the result are filtered to remove 'tell'. # so the result are filtered to remove 'tell'.
# Note that even after setting other instruments to enabled='NO'
# and truncating the events_waits_history_long table,
# some events -- that were already started but not completed --
# for other instruments could still be added in the history.
# To protect against that, an extra where clause
# "and event_name like "wait/io/file/myisam/%"
# is added to the select to filter out the result.
select event_name, select event_name,
left(source, locate(":", source)) as short_source, left(source, locate(":", source)) as short_source,
...@@ -53,6 +60,7 @@ select event_name, ...@@ -53,6 +60,7 @@ select event_name,
substring(object_name, locate("no_index_tab", object_name)) as short_name substring(object_name, locate("no_index_tab", object_name)) as short_name
from performance_schema.events_waits_history_long from performance_schema.events_waits_history_long
where operation not like "tell" where operation not like "tell"
and event_name like "wait/io/file/myisam/%"
order by thread_id, event_id; order by thread_id, event_id;
# In case of failures, this will tell if file io are lost. # In case of failures, this will tell if file io are lost.
......
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
# Setup # Setup
flush status;
SET @saved_thread_cache_size = @@global.thread_cache_size; SET @saved_thread_cache_size = @@global.thread_cache_size;
set global thread_cache_size = 0; set global thread_cache_size = 0;
...@@ -40,7 +42,7 @@ let $con2_ID=`select connection_id()`; ...@@ -40,7 +42,7 @@ let $con2_ID=`select connection_id()`;
let $con2_THREAD_ID=`select thread_id from performance_schema.threads let $con2_THREAD_ID=`select thread_id from performance_schema.threads
where PROCESSLIST_ID = connection_id()`; where PROCESSLIST_ID = connection_id()`;
connection default; --connection default
--disable_query_log --disable_query_log
eval select ($con2_ID - $con1_ID) into @id_increment; eval select ($con2_ID - $con1_ID) into @id_increment;
...@@ -52,7 +54,15 @@ select @id_increment; ...@@ -52,7 +54,15 @@ select @id_increment;
# Expect 1, THREAD_ID is incremented for each new connection # Expect 1, THREAD_ID is incremented for each new connection
select @thread_id_increment; select @thread_id_increment;
disconnect con2; --disconnect con2
--connection default
# Wait for the disconnect con2 to complete
let $wait_condition=
select count(*) = 2 from performance_schema.threads
where name like "thread/sql/one_connection";
--source include/wait_condition.inc
connect (con3, localhost, root, , ); connect (con3, localhost, root, , );
...@@ -61,10 +71,16 @@ let $con3_ID=`select connection_id()`; ...@@ -61,10 +71,16 @@ let $con3_ID=`select connection_id()`;
let $con3_THREAD_ID=`select thread_id from performance_schema.threads let $con3_THREAD_ID=`select thread_id from performance_schema.threads
where PROCESSLIST_ID = connection_id()`; where PROCESSLIST_ID = connection_id()`;
disconnect con3; --disconnect con3
disconnect con1; --disconnect con1
--connection default
connection default; # Wait for the disconnect con1 and con3 to complete
let $wait_condition=
select count(*) = 1 from performance_schema.threads
where name like "thread/sql/one_connection";
--source include/wait_condition.inc
--disable_query_log --disable_query_log
eval select ($con3_ID - $con2_ID) into @id_increment; eval select ($con3_ID - $con2_ID) into @id_increment;
...@@ -92,7 +108,7 @@ let $con2_ID=`select connection_id()`; ...@@ -92,7 +108,7 @@ let $con2_ID=`select connection_id()`;
let $con2_THREAD_ID=`select thread_id from performance_schema.threads let $con2_THREAD_ID=`select thread_id from performance_schema.threads
where PROCESSLIST_ID = connection_id()`; where PROCESSLIST_ID = connection_id()`;
connection default; --connection default
--disable_query_log --disable_query_log
eval select ($con2_ID - $con1_ID) into @id_increment; eval select ($con2_ID - $con1_ID) into @id_increment;
...@@ -102,7 +118,15 @@ eval select ($con2_THREAD_ID - $con1_THREAD_ID) into @thread_id_increment; ...@@ -102,7 +118,15 @@ eval select ($con2_THREAD_ID - $con1_THREAD_ID) into @thread_id_increment;
select @id_increment; select @id_increment;
select @thread_id_increment; select @thread_id_increment;
disconnect con2; --disconnect con2
--connection default
# Wait for the disconnect con2 to complete
let $wait_condition=
select count(*) = 2 from performance_schema.threads
where name like "thread/sql/one_connection";
--source include/wait_condition.inc
connect (con3, localhost, root, , ); connect (con3, localhost, root, , );
...@@ -111,10 +135,16 @@ let $con3_ID=`select connection_id()`; ...@@ -111,10 +135,16 @@ let $con3_ID=`select connection_id()`;
let $con3_THREAD_ID=`select thread_id from performance_schema.threads let $con3_THREAD_ID=`select thread_id from performance_schema.threads
where PROCESSLIST_ID = connection_id()`; where PROCESSLIST_ID = connection_id()`;
disconnect con3; --disconnect con3
disconnect con1; --disconnect con1
connection default; --connection default
# Wait for the disconnect con1 and con3 to complete
let $wait_condition=
select count(*) = 1 from performance_schema.threads
where name like "thread/sql/one_connection";
--source include/wait_condition.inc
--disable_query_log --disable_query_log
eval select ($con3_ID - $con2_ID) into @id_increment; eval select ($con3_ID - $con2_ID) into @id_increment;
...@@ -132,3 +162,5 @@ select @thread_id_increment; ...@@ -132,3 +162,5 @@ select @thread_id_increment;
set global thread_cache_size = @saved_thread_cache_size; set global thread_cache_size = @saved_thread_cache_size;
show status like "performance_schema_thread%";
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment