Commit 763f105d authored by unknown's avatar unknown

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.


client/mysqltest.c:
  More DBUG messages
  Adding missing DBUG_RETURN
mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
  Added missing sync_slave_with_master
mysql-test/extra/rpl_tests/rpl_relayrotate.test:
  Added missing sync_slave_with_master
mysql-test/include/federated.inc:
  Don't do stop slave before the slave has started properly
  (Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
mysql-test/include/federated_cleanup.inc:
  Trivial cleanup
mysql-test/t/federated_server.test:
  Don't run this unless under --big-test
  Made test-loop smaller. (We will find out errors in code over time, as the test is run under a lot of difference machines which will compensate for the smaller loop)
mysql-test/t/rpl_flushlog_loop.test:
  Added missing sync_slave_with_master
sql/net_serv.cc:
  Change error to Note (low level warning), as it interfered with mysql-test-run.
  This is probably fine as we in some context on sever shutdown can get information about connection shutdown on the connection while we are doing a query at the same time.
  Still, in normal context one should get this, so it's good to have it in the log as it enables one to find errors easier.
sql/slave.cc:
  Added reason to why things failed to error message
parent 48892844
...@@ -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