From: Marc Alff Date: August 3 2011 7:02am Subject: bzr push into mysql-trunk branch (marc.alff:3336 to 3337) Bug#11766111 List-Archive: http://lists.mysql.com/commits/140479 X-Bug: 11766111 Message-Id: <201108030703.p73734qY018485@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3337 Marc Alff 2011-08-03 Bug#11766111 - 59150: PERFSCHEMA.SETUP_OBJECTS FAILS SPORADICALLY Post merge cleanup: - improved test robustness (better isolation from previous test runs) - only update PFS_table_share flags of real records. modified: mysql-test/suite/perfschema/r/setup_objects.result mysql-test/suite/perfschema/t/setup_objects.test storage/perfschema/pfs_instr_class.cc 3336 Alexander Nozdrin 2011-08-02 Fix ancient typo. modified: sql/sp_pcontext.cc === modified file 'mysql-test/suite/perfschema/r/setup_objects.result' --- a/mysql-test/suite/perfschema/r/setup_objects.result 2011-07-14 09:53:42 +0000 +++ b/mysql-test/suite/perfschema/r/setup_objects.result 2011-08-03 07:02:05 +0000 @@ -1,4 +1,8 @@ drop table if exists test.setup_objects; +update performance_schema.setup_instruments set enabled='NO'; +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler'); +truncate table performance_schema.events_waits_history_long; create table test.setup_objects as select * from performance_schema.setup_objects; truncate table performance_schema.setup_objects; insert into performance_schema.setup_objects @@ -200,3 +204,4 @@ drop database db5; truncate table performance_schema.setup_objects; insert into performance_schema.setup_objects select * from test.setup_objects; drop table test.setup_objects; +update performance_schema.setup_instruments set enabled='YES', timed='YES'; === modified file 'mysql-test/suite/perfschema/t/setup_objects.test' --- a/mysql-test/suite/perfschema/t/setup_objects.test 2011-07-14 09:53:42 +0000 +++ b/mysql-test/suite/perfschema/t/setup_objects.test 2011-08-03 07:02:05 +0000 @@ -20,6 +20,14 @@ drop table if exists test.setup_objects; --enable_warnings +# Make sure only table io / table lock is instrumented and timed +update performance_schema.setup_instruments set enabled='NO'; +update performance_schema.setup_instruments set enabled='YES', timed='YES' + where name in ('wait/io/table/sql/handler', 'wait/lock/table/sql/handler'); + +# Remove noise from previous tests +truncate table performance_schema.events_waits_history_long; + # Save the setup create table test.setup_objects as select * from performance_schema.setup_objects; truncate table performance_schema.setup_objects; @@ -200,3 +208,5 @@ truncate table performance_schema.setup_ insert into performance_schema.setup_objects select * from test.setup_objects; drop table test.setup_objects; +update performance_schema.setup_instruments set enabled='YES', timed='YES'; + === modified file 'storage/perfschema/pfs_instr_class.cc' --- a/storage/perfschema/pfs_instr_class.cc 2011-07-06 18:58:53 +0000 +++ b/storage/perfschema/pfs_instr_class.cc 2011-08-03 07:02:05 +0000 @@ -1293,7 +1293,8 @@ void update_table_share_derived_flags(PF for ( ; pfs < pfs_last; pfs++) { - pfs->refresh_setup_object_flags(thread); + if (pfs->m_lock.is_populated()) + pfs->refresh_setup_object_flags(thread); } } No bundle (reason: useless for push emails).