From: Dmitry Lenev Date: October 21 2010 7:23am Subject: bzr commit into mysql-5.5-runtime branch (Dmitry.Lenev:3172) List-Archive: http://lists.mysql.com/commits/121446 Message-Id: <20101021072341.A091A2F0E23@mockturtle> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0234144896==" --===============0234144896== 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/ based on revid:dmitry.lenev@stripped 3172 Dmitry Lenev 2010-10-21 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. Improved comments in test scripts. modified: mysql-test/include/check_ftwrl_compatible.inc mysql-test/include/check_ftwrl_incompatible.inc === modified file 'mysql-test/include/check_ftwrl_compatible.inc' --- a/mysql-test/include/check_ftwrl_compatible.inc 2010-10-20 20:18:59 +0000 +++ b/mysql-test/include/check_ftwrl_compatible.inc 2010-10-21 07:23:30 +0000 @@ -4,16 +4,14 @@ # # PARAMETERS # $con_aux1 Name of the 1st aux connection to be used by this script. -# $con_aux2 Name of the 1st aux connection to be used by this script. +# $con_aux2 Name of the 2nd aux connection to be used by this script. # $statement Statement to be checked. # $cleanup_stmt Statement to be run in order to revert effects of # statement to be checked. # $skip_3rd_chk Skip the 3rd stage of checking. # -# # EXAMPLE -# flush.test -# +# flush_read_lock.test # --disable_result_log --disable_query_log @@ -70,6 +68,11 @@ if ($success) --echo Success: Was able to run '$statement' with FTWRL active in another connection. connection default; +# Apparently statement was successfully executed and so +# was not blocked by FTWRL. +# To be safe against wait_condition.inc succeeding due to +# races let us first reap the statement being checked to +# ensure that it has been successfully executed. --reap connection $con_aux1; @@ -118,6 +121,10 @@ if ($success) { --echo Success: Was able to run FTWRL while '$statement' was active in another connection. connection $con_aux1; +# Apparently FTWRL was successfully executed and so was not blocked by +# the statement being checked. To be safe against wait_condition.inc +# succeeding due to races let us first reap the FTWRL to ensure that it +# has been successfully executed. --reap unlock tables; set debug_sync="now SIGNAL go"; === modified file 'mysql-test/include/check_ftwrl_incompatible.inc' --- a/mysql-test/include/check_ftwrl_incompatible.inc 2010-10-20 20:18:59 +0000 +++ b/mysql-test/include/check_ftwrl_incompatible.inc 2010-10-21 07:23:30 +0000 @@ -13,8 +13,7 @@ # $skip_3rd_chk Skip the 3rd stage of checking. # # EXAMPLE -# flush.test -# +# flush_read_lock.test # --disable_result_log --disable_query_log --===============0234144896== 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/ # testament_sha1: 7f464ce58e4f75b1e3f8cc4b9f91189098a2e21e # timestamp: 2010-10-21 11:23:41 +0400 # base_revision_id: dmitry.lenev@stripped\ # gf1vw90mh53yl92g # # Begin bundle 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 3gf/F3JFOFCQaaRrHg== --===============0234144896==--