Fixed federated and some replication tests to not stop slave until it's up and running.

(Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
Marked federated_server as a '--big-test'
Change error in net_clear to 'Note', as it interfered with mysql-test-run.
parent 72d135be
...@@ -2552,6 +2552,7 @@ int do_save_master_pos() ...@@ -2552,6 +2552,7 @@ int do_save_master_pos()
MYSQL *mysql = &cur_con->mysql; MYSQL *mysql = &cur_con->mysql;
const char *query; const char *query;
int rpl_parse; int rpl_parse;
DBUG_ENTER("do_save_master_pos");
rpl_parse = mysql_rpl_parse_enabled(mysql); rpl_parse = mysql_rpl_parse_enabled(mysql);
mysql_disable_rpl_parse(mysql); mysql_disable_rpl_parse(mysql);
...@@ -2709,7 +2710,7 @@ int do_save_master_pos() ...@@ -2709,7 +2710,7 @@ int do_save_master_pos()
if (rpl_parse) if (rpl_parse)
mysql_enable_rpl_parse(mysql); mysql_enable_rpl_parse(mysql);
return 0; DBUG_RETURN(0);
} }
...@@ -3164,7 +3165,7 @@ struct st_connection * find_connection_by_name(const char *name) ...@@ -3164,7 +3165,7 @@ struct st_connection * find_connection_by_name(const char *name)
int select_connection_name(const char *name) int select_connection_name(const char *name)
{ {
DBUG_ENTER("select_connection2"); DBUG_ENTER("select_connection_name");
DBUG_PRINT("enter",("name: '%s'", name)); DBUG_PRINT("enter",("name: '%s'", name));
if (!(cur_con= find_connection_by_name(name))) if (!(cur_con= find_connection_by_name(name)))
...@@ -3187,7 +3188,7 @@ int select_connection(struct st_command *command) ...@@ -3187,7 +3188,7 @@ int select_connection(struct st_command *command)
if (*p) if (*p)
*p++= 0; *p++= 0;
command->last_argument= p; command->last_argument= p;
return select_connection_name(name); DBUG_RETURN(select_connection_name(name));
} }
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
# Requires statement logging # Requires statement logging
-- source include/master-slave.inc -- source include/master-slave.inc
# We have to sync with master, to ensure slave had time to start properly
# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
sync_slave_with_master;
connection slave; connection slave;
stop slave; stop slave;
connection master; connection master;
......
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
-- source include/master-slave.inc -- source include/master-slave.inc
# We have to sync with master, to ensure slave had time to start properly
# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
connection master;
sync_slave_with_master;
connection slave; connection slave;
stop slave; stop slave;
connection master; connection master;
......
...@@ -5,6 +5,11 @@ source ./include/master-slave.inc; ...@@ -5,6 +5,11 @@ source ./include/master-slave.inc;
# remote table creation # remote table creation
# We have to sync with master, to ensure slave had time to start properly
# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
connection master;
sync_slave_with_master;
connection slave; connection slave;
#--replicate-ignore-db=federated #--replicate-ignore-db=federated
stop slave; stop slave;
......
...@@ -2,10 +2,8 @@ connection master; ...@@ -2,10 +2,8 @@ connection master;
--disable_warnings --disable_warnings
DROP TABLE IF EXISTS federated.t1; DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated; DROP DATABASE IF EXISTS federated;
--enable_warnings
connection slave; connection slave;
--disable_warnings
DROP TABLE IF EXISTS federated.t1; DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated; DROP DATABASE IF EXISTS federated;
--enable_warnings --enable_warnings
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
# if federated can utilise the servers table # if federated can utilise the servers table
# should work with embedded server after mysqltest is fixed # should work with embedded server after mysqltest is fixed
-- source include/not_embedded.inc -- source include/not_embedded.inc
source include/federated.inc; -- source include/federated.inc;
-- source include/big_test.inc
connection slave; connection slave;
create database first_db; create database first_db;
...@@ -299,7 +300,7 @@ begin ...@@ -299,7 +300,7 @@ begin
DECLARE i INT; DECLARE i INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
SET i = sleep(5); SET i = sleep(5);
WHILE v < 20000 do WHILE v < 10000 do
CREATE SERVER s CREATE SERVER s
FOREIGN DATA WRAPPER mysql FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test'); OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
......
...@@ -5,6 +5,9 @@ ...@@ -5,6 +5,9 @@
# #
# Start replication master -> slave # Start replication master -> slave
# #
# We have to sync with master, to ensure slave had time to start properly
# before we stop it. If not, we get errors about UNIX_TIMESTAMP() in the log.
sync_slave_with_master;
connection slave; connection slave;
--disable_warnings --disable_warnings
stop slave; stop slave;
......
...@@ -299,7 +299,7 @@ void net_clear(NET *net, my_bool clear_buffer) ...@@ -299,7 +299,7 @@ void net_clear(NET *net, my_bool clear_buffer)
DBUG_PRINT("info",("skipped %d bytes from file: %s", DBUG_PRINT("info",("skipped %d bytes from file: %s",
count, vio_description(net->vio))); count, vio_description(net->vio)));
#if defined(EXTRA_DEBUG) #if defined(EXTRA_DEBUG)
fprintf(stderr,"Error: net_clear() skipped %d bytes from file: %s\n", fprintf(stderr,"Note: net_clear() skipped %d bytes from file: %s\n",
count, vio_description(net->vio)); count, vio_description(net->vio));
#endif #endif
} }
......
...@@ -794,8 +794,10 @@ static int get_master_version_and_clock(MYSQL* mysql, MASTER_INFO* mi) ...@@ -794,8 +794,10 @@ static int get_master_version_and_clock(MYSQL* mysql, MASTER_INFO* mi)
else else
{ {
mi->clock_diff_with_master= 0; /* The "most sensible" value */ mi->clock_diff_with_master= 0; /* The "most sensible" value */
sql_print_warning("\"SELECT UNIX_TIMESTAMP()\" failed on master, \ sql_print_warning("\"SELECT UNIX_TIMESTAMP()\" failed on master, "
do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS"); "do not trust column Seconds_Behind_Master of SHOW "
"SLAVE STATUS. Error: %s (%d)",
mysql_error(mysql), mysql_errno(mysql));
} }
if (master_res) if (master_res)
mysql_free_result(master_res); mysql_free_result(master_res);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment