List:Commits« Previous MessageNext Message »
From:Marc Alff Date:August 3 2011 7:02am
Subject:bzr push into mysql-trunk branch (marc.alff:3336 to 3337) Bug#11766111
View as plain text  
 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).
Thread
bzr push into mysql-trunk branch (marc.alff:3336 to 3337) Bug#11766111Marc Alff3 Aug