From: Serge Kozlov Date: May 22 2012 11:38am Subject: bzr push into mysql-trunk branch (serge.kozlov:3858 to 3860) WL#5223 List-Archive: http://lists.mysql.com/commits/143906 Message-Id: <20120522113825.30561244@tyr74.no.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3860 Serge Kozlov 2012-05-22 WL#5223. Test case for BGC options modified: mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test 3859 Serge Kozlov 2012-05-22 WL#5223. Test case for BGC options added: mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result mysql-test/suite/rpl/t/rpl_binlog_gcommit_options-master.opt mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test 3858 Alfranio Correia 2012-05-21 BUG#14094591 - SERVER CRASHED WITH --BINLOG-MAX-FLUSH-QUEUE-TIME=1 If a timeout was set, wait_queue might never be updated thus leading to an assertion failure, i.e. BUG_ASSERT(queue). To fix the problem, we make sure that wait_queue is never null. modified: sql/binlog.cc === added file 'mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result' --- a/mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/rpl/r/rpl_binlog_gcommit_options.result 2012-05-22 11:37:37 +0000 @@ -0,0 +1,20 @@ +include/master-slave.inc +Warnings: +Note #### Sending passwords in plain text without SSL/TLS is extremely insecure. +Note #### Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives. +[connection master] +# Create table +# Create connections +# Insert rows +# Master results +SELECT COUNT(a) FROM t; +COUNT(a) +200 +# Slave results +SELECT COUNT(a) FROM t; +COUNT(a) +200 +# Clean up +DROP TABLE t; +include/stop_slave.inc +# End of tests === added file 'mysql-test/suite/rpl/t/rpl_binlog_gcommit_options-master.opt' --- a/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options-master.opt 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options-master.opt 2012-05-22 11:35:49 +0000 @@ -0,0 +1 @@ +--binlog-max-flush-queue-time=1 --skip-binlog-order-commits === added file 'mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test' --- a/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/suite/rpl/t/rpl_binlog_gcommit_options.test 2012-05-22 11:37:37 +0000 @@ -0,0 +1,60 @@ +############################################################ +# Purpose: WL#5223. Testing BGC options +# Author: Serge Kozlov +# Purpose: Execute server code related to BGC options. +# We do not test here the functionality of new +# options because of it requires a complex +# test with debug-sync and just make sure +# that there is no crash/assertion when +# that code executed. +############################################################ +source include/have_innodb.inc; +source include/have_log_bin.inc; +source include/master-slave.inc; + +# Settings +let $loop_counter= 100; + +--disable_query_log +# Create table +echo # Create table; +CREATE TABLE t (a INT NOT NULL, b VARCHAR(200), c TEXT, d DATETIME NOT NULL, e BIGINT NOT NULL, KEY(d,e)) ENGINE=InnoDB; + +# Create connections +echo # Create connections; +connect(conn_1,localhost,root,,); +connect(conn_2,localhost,root,,); + +# Main test +echo # Insert rows; +disable_query_log; +disable_result_log; +while ($loop_counter) { + connection conn_1; + send INSERT INTO t VALUES (1, '', REPEAT('a', 1), NOW(), 1); + connection conn_2; + send INSERT INTO t VALUES (1, '', REPEAT('a', 1), NOW(), 1); + connection conn_1; + reap; + connection conn_2; + reap; + dec $loop_counter; +} +enable_result_log; +enable_query_log; + +# Results +echo # Master results; +connection master; +SELECT COUNT(a) FROM t; +sync_slave_with_master; +echo # Slave results; +SELECT COUNT(a) FROM t; + +# Clean up +echo # Clean up; +connection master; +DROP TABLE t; +sync_slave_with_master; +source include/stop_slave.inc; +echo # End of tests; No bundle (reason: useless for push emails).