Loading BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ dlenev@build.mysql.com dlenev@jabberwock.localdomain dlenev@mysql.com ejonore@mc03.ndb.mysql.com gbichot@quadita2.mysql.com gbichot@quadxeon.mysql.com georg@beethoven.local georg@lmy002.wdf.sap.corp Loading libmysql/Makefile.shared +2 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,8 @@ clean-local: `echo $(sql_cmn_objects) | sed "s;\.lo;.c;g"` \ $(CHARSET_SRCS) $(CHARSET_OBJS) \ $(mystringsextra) $(mysysheaders) $(vioheaders)\ ../linked_client_sources net.c ../linked_libmysql_sources ../linked_libmysql_r_sources \ net.c conf_to_src_SOURCES = conf_to_src.c conf_to_src_LDADD= Loading mysql-test/r/rpl_deadlock.result +6 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,9 @@ create table t1 (a int not null, key(a)) engine=innodb; create table t2 (a int not null, key(a)) engine=innodb; create table t3 (a int) engine=innodb; create table t4 (a int) engine=innodb; show variables like 'slave_transaction_retries'; Variable_name Value slave_transaction_retries 0 show create table t1; Table Create Table t1 CREATE TABLE `t1` ( Loading @@ -20,6 +23,9 @@ t2 CREATE TABLE `t2` ( `a` int(11) NOT NULL default '0', KEY `a` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 show variables like 'slave_transaction_retries'; Variable_name Value slave_transaction_retries 2 stop slave; begin; insert into t3 select * from t2 for update; Loading mysql-test/t/rpl_deadlock.test +4 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ # (Guilhem) have seen the test manage to provoke lock wait timeout # error but not deadlock error; that is ok as code deals with the two # errors in exactly the same way. # We don't 'show status like 'slave_retried_transactions'' because this # is not repeatable (depends on sleeps). source include/have_innodb.inc; source include/master-slave.inc; Loading @@ -16,10 +18,12 @@ create table t1 (a int not null, key(a)) engine=innodb; create table t2 (a int not null, key(a)) engine=innodb; create table t3 (a int) engine=innodb; create table t4 (a int) engine=innodb; show variables like 'slave_transaction_retries'; sync_slave_with_master; show create table t1; show create table t2; show variables like 'slave_transaction_retries'; stop slave; # 1) Test deadlock Loading sql/mysqld.cc +13 −3 Original line number Diff line number Diff line Loading @@ -3062,8 +3062,17 @@ we force server id to 2, but this MySQL server will not act as a slave."); #endif if (opt_bootstrap) /* If running with bootstrap, do not start replication. */ opt_skip_slave_start= 1; /* init_slave() must be called after the thread keys are created */ init_slave(); /* init_slave() must be called after the thread keys are created. Some parts of the code (e.g. SHOW STATUS LIKE 'slave_running' and other places) assume that active_mi != 0, so let's fail if it's 0 (out of memory); a message has already been printed. */ if (init_slave() && !active_mi) { end_thr_alarm(1); // Don't allow alarms unireg_abort(1); } if (opt_bootstrap) { Loading Loading @@ -5495,6 +5504,7 @@ struct show_var_st status_vars[]= { {"Select_scan", (char*) &select_scan_count, SHOW_LONG}, {"Slave_open_temp_tables", (char*) &slave_open_temp_tables, SHOW_LONG}, {"Slave_running", (char*) 0, SHOW_SLAVE_RUNNING}, {"Slave_retried_transactions",(char*) 0, SHOW_SLAVE_RETRIED_TRANS}, {"Slow_launch_threads", (char*) &slow_launch_threads, SHOW_LONG}, {"Slow_queries", (char*) &long_query_count, SHOW_LONG}, {"Sort_merge_passes", (char*) &filesort_merge_passes, SHOW_LONG}, Loading Loading
BitKeeper/etc/logging_ok +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ dlenev@build.mysql.com dlenev@jabberwock.localdomain dlenev@mysql.com ejonore@mc03.ndb.mysql.com gbichot@quadita2.mysql.com gbichot@quadxeon.mysql.com georg@beethoven.local georg@lmy002.wdf.sap.corp Loading
libmysql/Makefile.shared +2 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,8 @@ clean-local: `echo $(sql_cmn_objects) | sed "s;\.lo;.c;g"` \ $(CHARSET_SRCS) $(CHARSET_OBJS) \ $(mystringsextra) $(mysysheaders) $(vioheaders)\ ../linked_client_sources net.c ../linked_libmysql_sources ../linked_libmysql_r_sources \ net.c conf_to_src_SOURCES = conf_to_src.c conf_to_src_LDADD= Loading
mysql-test/r/rpl_deadlock.result +6 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,9 @@ create table t1 (a int not null, key(a)) engine=innodb; create table t2 (a int not null, key(a)) engine=innodb; create table t3 (a int) engine=innodb; create table t4 (a int) engine=innodb; show variables like 'slave_transaction_retries'; Variable_name Value slave_transaction_retries 0 show create table t1; Table Create Table t1 CREATE TABLE `t1` ( Loading @@ -20,6 +23,9 @@ t2 CREATE TABLE `t2` ( `a` int(11) NOT NULL default '0', KEY `a` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 show variables like 'slave_transaction_retries'; Variable_name Value slave_transaction_retries 2 stop slave; begin; insert into t3 select * from t2 for update; Loading
mysql-test/t/rpl_deadlock.test +4 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,8 @@ # (Guilhem) have seen the test manage to provoke lock wait timeout # error but not deadlock error; that is ok as code deals with the two # errors in exactly the same way. # We don't 'show status like 'slave_retried_transactions'' because this # is not repeatable (depends on sleeps). source include/have_innodb.inc; source include/master-slave.inc; Loading @@ -16,10 +18,12 @@ create table t1 (a int not null, key(a)) engine=innodb; create table t2 (a int not null, key(a)) engine=innodb; create table t3 (a int) engine=innodb; create table t4 (a int) engine=innodb; show variables like 'slave_transaction_retries'; sync_slave_with_master; show create table t1; show create table t2; show variables like 'slave_transaction_retries'; stop slave; # 1) Test deadlock Loading
sql/mysqld.cc +13 −3 Original line number Diff line number Diff line Loading @@ -3062,8 +3062,17 @@ we force server id to 2, but this MySQL server will not act as a slave."); #endif if (opt_bootstrap) /* If running with bootstrap, do not start replication. */ opt_skip_slave_start= 1; /* init_slave() must be called after the thread keys are created */ init_slave(); /* init_slave() must be called after the thread keys are created. Some parts of the code (e.g. SHOW STATUS LIKE 'slave_running' and other places) assume that active_mi != 0, so let's fail if it's 0 (out of memory); a message has already been printed. */ if (init_slave() && !active_mi) { end_thr_alarm(1); // Don't allow alarms unireg_abort(1); } if (opt_bootstrap) { Loading Loading @@ -5495,6 +5504,7 @@ struct show_var_st status_vars[]= { {"Select_scan", (char*) &select_scan_count, SHOW_LONG}, {"Slave_open_temp_tables", (char*) &slave_open_temp_tables, SHOW_LONG}, {"Slave_running", (char*) 0, SHOW_SLAVE_RUNNING}, {"Slave_retried_transactions",(char*) 0, SHOW_SLAVE_RETRIED_TRANS}, {"Slow_launch_threads", (char*) &slow_launch_threads, SHOW_LONG}, {"Slow_queries", (char*) &long_query_count, SHOW_LONG}, {"Sort_merge_passes", (char*) &filesort_merge_passes, SHOW_LONG}, Loading