From: Marc Alff Date: March 19 2012 11:15am Subject: bzr push into mysql-trunk branch (marc.alff:3796 to 3797) WL#5767 List-Archive: http://lists.mysql.com/commits/143237 Message-Id: <201203191115.q2JBFieI004614@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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).