mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 17:33:44 +01:00
572560f38c
This allows us to avoid calculating variables (including those involving mutex) that doesn't match the given wildcard in SHOW STATUS LIKE '...' Removed all references to active_mi that could cause problems for multi-source replication. Added START|STOP ALL SLAVES Added SHOW ALL SLAVES STATUS include/mysql/plugin.h: Added SHOW_SIMPLE_FUNC include/mysql/plugin_audit.h.pp: Updated .pp file include/mysql/plugin_auth.h.pp: Updated .pp file include/mysql/plugin_ftparser.h.pp: Updated .pp file mysql-test/suite/multi_source/info_logs.result: New columns in SHOW ALL SLAVES STATUS mysql-test/suite/multi_source/info_logs.test: Test new syntax mysql-test/suite/multi_source/simple.result: New columns in SHOW ALL SLAVES STATUS mysql-test/suite/multi_source/simple.test: test new syntax mysql-test/suite/multi_source/syntax.result: Updated result mysql-test/suite/multi_source/syntax.test: Test new syntax mysql-test/suite/rpl/r/rpl_skip_replication.result: Updated result plugin/semisync/semisync_master_plugin.cc: SHOW_FUNC -> SHOW_SIMPLE_FUNC sql/item_create.cc: Simplify code sql/lex.h: Added SLAVES keyword sql/log.cc: Constant -> define sql/log_event.cc: Added comment sql/mysqld.cc: SHOW_FUNC -> SHOW_SIMPLE_FUNC Made slave_retried_trans, slave_received_heartbeats and heartbeat_period multi-source safe Clear variable denied_connections and slave_retried_transactions on startup sql/mysqld.h: Added slave_retried_transactions sql/rpl_mi.cc: create_signed_file_name -> create_logfile_name_with_suffix Added start_all_slaves() and stop_all_slaves() sql/rpl_mi.h: Added prototypes sql/rpl_rli.cc: create_signed_file_name -> create_logfile_name_with_suffix added executed_entries sql/rpl_rli.h: Added executed_entries sql/share/errmsg-utf8.txt: More and better error messages sql/slave.cc: Added more fields to SHOW ALL SLAVES STATUS Added slave_retried_transactions Changed constants -> defines sql/sql_class.h: Added comment sql/sql_insert.cc: active_mi.rli -> thd->rli_slave sql/sql_lex.h: Added SQLCOM_SLAVE_ALL_START & SQLCOM_SLAVE_ALL_STOP sql/sql_load.cc: active_mi.rli -> thd->rli_slave sql/sql_parse.cc: Added START|STOP ALL SLAVES sql/sql_prepare.cc: Added SQLCOM_SLAVE_ALL_START & SQLCOM_SLAVE_ALL_STOP sql/sql_reload.cc: Made REFRESH RELAY LOG multi-source safe sql/sql_repl.cc: create_signed_file_name -> create_logfile_name_with_suffix Don't send my_ok() from start_slave() or stop_slave() so that we can call it for all master connections sql/sql_show.cc: Compare wild cards early for all variables sql/sql_yacc.yy: Added START|STOP ALL SLAVES Added SHOW ALL SLAVES STATUS sql/sys_vars.cc: Made replicate_events_marked_for_skip,slave_net_timeout and rpl_filter multi-source safe. sql/sys_vars.h: Simplify Sys_var_rpl_filter
112 lines
2.1 KiB
Text
112 lines
2.1 KiB
Text
include/master-slave.inc
|
|
[connection master]
|
|
*** Prepare tables and data ***
|
|
CREATE TABLE t1 (a INT NOT NULL, KEY(a)) ENGINE=innodb;
|
|
CREATE TABLE t2 (a INT) ENGINE=innodb;
|
|
CREATE TABLE t3 (a INT NOT NULL, KEY(a)) ENGINE=innodb;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) NOT NULL,
|
|
KEY `a` (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`a` int(11) DEFAULT NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
SHOW CREATE TABLE t3;
|
|
Table Create Table
|
|
t3 CREATE TABLE `t3` (
|
|
`a` int(11) NOT NULL,
|
|
KEY `a` (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
SHOW VARIABLES LIKE 'slave_transaction_retries';
|
|
Variable_name Value
|
|
slave_transaction_retries 2
|
|
include/stop_slave.inc
|
|
BEGIN;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (2), (2), (2), (2), (2), (2), (2), (2), (2), (2);
|
|
INSERT INTO t3 VALUES (3);
|
|
COMMIT;
|
|
|
|
*** Test deadlock ***
|
|
BEGIN;
|
|
SELECT * FROM t1 FOR UPDATE;
|
|
a
|
|
START SLAVE;
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
0
|
|
COMMIT;
|
|
SELECT * FROM t1;
|
|
a
|
|
1
|
|
SELECT * FROM t3;
|
|
a
|
|
3
|
|
include/check_slave_is_running.inc
|
|
|
|
*** Test lock wait timeout ***
|
|
include/stop_slave.inc
|
|
DELETE FROM t2;
|
|
CHANGE MASTER TO MASTER_LOG_POS=<master_pos_begin>;
|
|
BEGIN;
|
|
SELECT * FROM t1 FOR UPDATE;
|
|
a
|
|
1
|
|
START SLAVE;
|
|
include/wait_for_slave_sql_error.inc [errno=1205]
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
0
|
|
COMMIT;
|
|
include/start_slave.inc
|
|
SELECT * FROM t1;
|
|
a
|
|
1
|
|
1
|
|
SELECT * FROM t3;
|
|
a
|
|
3
|
|
3
|
|
include/check_slave_is_running.inc
|
|
|
|
*** Test lock wait timeout and purged relay logs ***
|
|
SET @my_max_relay_log_size= @@global.max_relay_log_size;
|
|
SET global max_relay_log_size=0;
|
|
Warnings:
|
|
Warning 1292 Truncated incorrect max_relay_log_size value: '0'
|
|
include/stop_slave.inc
|
|
DELETE FROM t2;
|
|
CHANGE MASTER TO MASTER_LOG_POS=<master_pos_begin>;
|
|
BEGIN;
|
|
SELECT * FROM t1 FOR UPDATE;
|
|
a
|
|
1
|
|
1
|
|
START SLAVE;
|
|
include/wait_for_slave_sql_error.inc [errno=1205]
|
|
SELECT COUNT(*) FROM t2;
|
|
COUNT(*)
|
|
0
|
|
COMMIT;
|
|
include/start_slave.inc
|
|
SELECT * FROM t1;
|
|
a
|
|
1
|
|
1
|
|
1
|
|
SELECT * FROM t3;
|
|
a
|
|
3
|
|
3
|
|
3
|
|
include/check_slave_is_running.inc
|
|
|
|
*** Clean up ***
|
|
DROP TABLE t1,t2,t3;
|
|
SET global max_relay_log_size= @my_max_relay_log_size;
|
|
End of 5.1 tests
|
|
include/rpl_end.inc
|