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()
MYSQL *mysql = &cur_con->mysql;
const char *query;
int rpl_parse;
DBUG_ENTER("do_save_master_pos");
rpl_parse = mysql_rpl_parse_enabled(mysql);
mysql_disable_rpl_parse(mysql);
......@@ -2709,7 +2710,7 @@ int do_save_master_pos()
if (rpl_parse)
mysql_enable_rpl_parse(mysql);
return 0;
DBUG_RETURN(0);
}
......@@ -3164,7 +3165,7 @@ struct st_connection * find_connection_by_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));
if (!(cur_con= find_connection_by_name(name)))
......@@ -3187,7 +3188,7 @@ int select_connection(struct st_command *command)
if (*p)
*p++= 0;
command->last_argument= p;
return select_connection_name(name);
DBUG_RETURN(select_connection_name(name));
}
......
......@@ -6,6 +6,9 @@
# Requires statement logging
-- 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;
stop slave;
connection master;
......
......@@ -10,6 +10,10 @@
-- 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;
stop slave;
connection master;
......
......@@ -5,6 +5,11 @@ source ./include/master-slave.inc;
# 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;
#--replicate-ignore-db=federated
stop slave;
......
......@@ -2,10 +2,8 @@ connection master;
--disable_warnings
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
--enable_warnings
connection slave;
--disable_warnings
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
--enable_warnings
......@@ -2,7 +2,8 @@
# if federated can utilise the servers table
# should work with embedded server after mysqltest is fixed
-- source include/not_embedded.inc
source include/federated.inc;
-- source include/federated.inc;
-- source include/big_test.inc
connection slave;
create database first_db;
......@@ -299,7 +300,7 @@ begin
DECLARE i INT;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET e = e + 1;
SET i = sleep(5);
WHILE v < 20000 do
WHILE v < 10000 do
CREATE SERVER s
FOREIGN DATA WRAPPER mysql
OPTIONS (USER 'Remote', HOST '192.168.1.106', DATABASE 'test');
......
......@@ -5,6 +5,9 @@
#
# 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;
--disable_warnings
stop slave;
......
......@@ -299,7 +299,7 @@ void net_clear(NET *net, my_bool clear_buffer)
DBUG_PRINT("info",("skipped %d bytes from file: %s",
count, vio_description(net->vio)));
#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));
#endif
}
......
......@@ -794,8 +794,10 @@ static int get_master_version_and_clock(MYSQL* mysql, MASTER_INFO* mi)
else
{
mi->clock_diff_with_master= 0; /* The "most sensible" value */
sql_print_warning("\"SELECT UNIX_TIMESTAMP()\" failed on master, \
do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS");
sql_print_warning("\"SELECT UNIX_TIMESTAMP()\" failed on master, "
"do not trust column Seconds_Behind_Master of SHOW "
"SLAVE STATUS. Error: %s (%d)",
mysql_error(mysql), mysql_errno(mysql));
}
if (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