From: Dmitry Lenev Date: October 25 2010 6:11pm Subject: bzr commit into mysql-5.5-runtime branch (Dmitry.Lenev:3179) List-Archive: http://lists.mysql.com/commits/121855 Message-Id: <20101025181145.68EF31E5128@mockturtle> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1353805437==" --===============1353805437== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/dlenev/src/bzr/mysql-5.5-rt-grl-ps-fix/ based on revid:kostja@stripped 3179 Dmitry Lenev 2010-10-25 More changes to draft patch refactoring global read lock implementation. Makes GRL yet another type of metadata lock and thus exposes it to deadlock detector in MDL subsystem. Solves bugs #54673 "It takes too long to get readlock for 'FLUSH TABLES WITH READ LOCK'" and #57006 "Deadlock between HANDLER and FLUSH TABLES WITH READ LOCK". Work-in-progress. Fix sporadical failures of perfschema.global_read_lock test. modified: mysql-test/suite/perfschema/r/func_file_io.result mysql-test/suite/perfschema/r/func_mutex.result mysql-test/suite/perfschema/r/global_read_lock.result mysql-test/suite/perfschema/t/func_file_io.test mysql-test/suite/perfschema/t/func_mutex.test mysql-test/suite/perfschema/t/global_read_lock.test sql/sql_parse.cc === modified file 'mysql-test/suite/perfschema/r/func_file_io.result' --- a/mysql-test/suite/perfschema/r/func_file_io.result 2010-08-12 14:08:52 +0000 +++ b/mysql-test/suite/perfschema/r/func_file_io.result 2010-10-25 18:11:22 +0000 @@ -115,3 +115,4 @@ LEFT JOIN information_schema.PROCESSLIST GROUP BY i.user, h.operation HAVING BYTES > 0 ORDER BY i.user, h.operation; +UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'; === modified file 'mysql-test/suite/perfschema/r/func_mutex.result' --- a/mysql-test/suite/perfschema/r/func_mutex.result 2010-01-12 01:47:27 +0000 +++ b/mysql-test/suite/perfschema/r/func_mutex.result 2010-10-25 18:11:22 +0000 @@ -110,4 +110,5 @@ WHERE (EVENT_NAME = 'wait/synch/rwlock/s SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed; test_fm2_rw_timed Success +UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'; DROP TABLE t1; === modified file 'mysql-test/suite/perfschema/r/global_read_lock.result' --- a/mysql-test/suite/perfschema/r/global_read_lock.result 2010-10-18 12:33:49 +0000 +++ b/mysql-test/suite/perfschema/r/global_read_lock.result 2010-10-25 18:11:22 +0000 @@ -1,4 +1,5 @@ use performance_schema; +update performance_schema.SETUP_INSTRUMENTS set enabled='YES'; grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost; flush privileges; connect (con1, localhost, pfsuser, , test); === modified file 'mysql-test/suite/perfschema/t/func_file_io.test' --- a/mysql-test/suite/perfschema/t/func_file_io.test 2010-08-12 14:08:52 +0000 +++ b/mysql-test/suite/perfschema/t/func_file_io.test 2010-10-25 18:11:22 +0000 @@ -190,3 +190,6 @@ GROUP BY i.user, h.operation HAVING BYTES > 0 ORDER BY i.user, h.operation; --enable_result_log + +# Clean-up. +UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'; === modified file 'mysql-test/suite/perfschema/t/func_mutex.test' --- a/mysql-test/suite/perfschema/t/func_mutex.test 2010-01-12 01:47:27 +0000 +++ b/mysql-test/suite/perfschema/t/func_mutex.test 2010-10-25 18:11:22 +0000 @@ -128,4 +128,6 @@ SET @after_count = (SELECT SUM(TIMER_WAI SELECT IF((COALESCE(@after_count, 0) - COALESCE(@before_count, 0)) = 0, 'Success', 'Failure') test_fm2_rw_timed; +# Clean-up. +UPDATE performance_schema.SETUP_INSTRUMENTS SET enabled = 'YES'; DROP TABLE t1; === modified file 'mysql-test/suite/perfschema/t/global_read_lock.test' --- a/mysql-test/suite/perfschema/t/global_read_lock.test 2010-10-18 12:33:49 +0000 +++ b/mysql-test/suite/perfschema/t/global_read_lock.test 2010-10-25 18:11:22 +0000 @@ -22,6 +22,10 @@ use performance_schema; +# Make test robust against errors in other tests. +# Ensure that instrumentation is turned on when we create new connection. +update performance_schema.SETUP_INSTRUMENTS set enabled='YES'; + grant SELECT, UPDATE, LOCK TABLES on performance_schema.* to pfsuser@localhost; flush privileges; @@ -64,15 +68,6 @@ let $wait_condition= select 1 from perfo --source include/wait_condition.inc -if (!$success) -{ -select * from performance_schema.EVENTS_WAITS_CURRENT; -show status like '%perf%'; -show processlist; -select * from performance_schema.THREADS; -set session debug="+d,execute_command_crash"; -} - # Observe the blocked thread in the performance schema :) select event_name, left(source, locate(":", source)) as short_source, === modified file 'sql/sql_parse.cc' --- a/sql/sql_parse.cc 2010-10-25 15:16:12 +0000 +++ b/sql/sql_parse.cc 2010-10-25 18:11:22 +0000 @@ -4334,8 +4334,6 @@ finish: DEBUG_SYNC(thd, "execute_command_after_close_tables"); #endif - DBUG_EVALUATE_IF("execute_command_crash", (abort(), 0), 0); - /* It is time to release metadata lock protecting against global read lock if it is one of statements which require explicit protection. --===============1353805437== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/dmitry.lenev@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dmitry.lenev@stripped # target_branch: file:///home/dlenev/src/bzr/mysql-5.5-rt-grl-ps-fix/ # testament_sha1: 7881fd6ff665ef97306edac9cb85ce8aae138e45 # timestamp: 2010-10-25 22:11:45 +0400 # base_revision_id: kostja@stripped # # Begin bundle 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 mGmtRBhiBb/4u5IpwoSFnzb6aA== --===============1353805437==--