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#11766111 | Marc Alff | 3 Aug |