3797 Marc Alff 2012-03-19
WL#5767 PERFORMANCE SCHEMA DIGEST
Post merge cleanup (3)
removed:
mysql-test/suite/sys_vars/r/pfs_digests_size.result
mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt
added:
mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result
mysql-test/suite/sys_vars/t/pfs_digests_size_basic-master.opt
modified:
.bzrignore
sql/sys_vars.cc
3796 Dmitry Shulga 2012-03-19
Fixed bug#13625834 - main.innodb_mysql_lock test fails on debian5.0-x86_64
sporadically.
The reason for this bug is that there was a race condition in checking for
'update' state in wait_condition loop and acquiring real transaction lock
during execution of statement 'INSERT'. Such race condition arised since
there was a time window between the step when server sets a transaction state
in 'update' value and when the real lock for transation is acquired. Such
race condition could result in successful execution of the following statement
'INSERT INTO t1 VALUES (2)' that else should failed with error
ER_LOCK_DEADLOCK.
To eliminate this race condition we replaced the conditon of waiting for
lock by polling the table information_schema.innodb_trx until transaction will
be locked.
modified:
mysql-test/r/innodb_mysql_lock.result
mysql-test/t/innodb_mysql_lock.test
=== modified file '.bzrignore'
--- a/.bzrignore 2012-03-06 14:29:42 +0000
+++ b/.bzrignore 2012-03-19 11:14:55 +0000
@@ -3133,3 +3133,4 @@ source_downloads
client/mysql_plugin
support-files/plugins.files
storage/perfschema/pfs_lex_token.h
+storage/perfschema/gen_pfs_lex_token
=== removed file 'mysql-test/suite/sys_vars/r/pfs_digests_size.result'
--- a/mysql-test/suite/sys_vars/r/pfs_digests_size.result 2011-06-13 11:54:30 +0000
+++ b/mysql-test/suite/sys_vars/r/pfs_digests_size.result 1970-01-01 00:00:00 +0000
@@ -1,23 +0,0 @@
-select @@global.performance_schema_digests_size;
-@@global.performance_schema_digests_size
-200
-select @@session.performance_schema_digests_size;
-ERROR HY000: Variable 'performance_schema_digests_size' is a GLOBAL variable
-show global variables like 'performance_schema_digests_size';
-Variable_name Value
-performance_schema_digests_size 200
-show session variables like 'performance_schema_digests_size';
-Variable_name Value
-performance_schema_digests_size 200
-select * from information_schema.global_variables
-where variable_name='performance_schema_digests_size';
-VARIABLE_NAME VARIABLE_VALUE
-PERFORMANCE_SCHEMA_DIGESTS_SIZE 200
-select * from information_schema.session_variables
-where variable_name='performance_schema_digests_size';
-VARIABLE_NAME VARIABLE_VALUE
-PERFORMANCE_SCHEMA_DIGESTS_SIZE 200
-set global performance_schema_digests_size=1;
-ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
-set session performance_schema_digests_size=1;
-ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
=== added file 'mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result'
--- a/mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/r/pfs_digests_size_basic.result 2012-03-19 11:14:55 +0000
@@ -0,0 +1,23 @@
+select @@global.performance_schema_digests_size;
+@@global.performance_schema_digests_size
+123
+select @@session.performance_schema_digests_size;
+ERROR HY000: Variable 'performance_schema_digests_size' is a GLOBAL variable
+show global variables like 'performance_schema_digests_size';
+Variable_name Value
+performance_schema_digests_size 123
+show session variables like 'performance_schema_digests_size';
+Variable_name Value
+performance_schema_digests_size 123
+select * from information_schema.global_variables
+where variable_name='performance_schema_digests_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_DIGESTS_SIZE 123
+select * from information_schema.session_variables
+where variable_name='performance_schema_digests_size';
+VARIABLE_NAME VARIABLE_VALUE
+PERFORMANCE_SCHEMA_DIGESTS_SIZE 123
+set global performance_schema_digests_size=1;
+ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
+set session performance_schema_digests_size=1;
+ERROR HY000: Variable 'performance_schema_digests_size' is a read only variable
=== removed file 'mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt'
--- a/mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt 2011-06-13 11:54:30 +0000
+++ b/mysql-test/suite/sys_vars/t/pfs_digests_size-master_basic.opt 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
---loose-enable-performance-schema
---loose-performance-schema-digests-size=200
=== added file 'mysql-test/suite/sys_vars/t/pfs_digests_size_basic-master.opt'
--- a/mysql-test/suite/sys_vars/t/pfs_digests_size_basic-master.opt 1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/sys_vars/t/pfs_digests_size_basic-master.opt 2012-03-19 11:14:55 +0000
@@ -0,0 +1,2 @@
+--loose-enable-performance-schema
+--loose-performance-schema-digests-size=123
=== modified file 'sql/sys_vars.cc'
--- a/sql/sys_vars.cc 2012-03-16 15:04:13 +0000
+++ b/sql/sys_vars.cc 2012-03-19 11:14:55 +0000
@@ -491,7 +491,7 @@ static Sys_var_ulong Sys_pfs_digest_size
"performance_schema_digests_size",
"Size of the statement digest.",
READ_ONLY GLOBAL_VAR(pfs_param.m_digest_sizing),
- CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, 200),
+ CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, 1024 * 1024),
DEFAULT(PFS_DIGEST_SIZE),
BLOCK_SIZE(1), PFS_TRAILING_PROPERTIES);
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (marc.alff:3796 to 3797) WL#5767 | Marc Alff | 19 Mar |