File: simple.test

package info (click to toggle)
mariadb 1%3A11.8.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 772,520 kB
  • sloc: ansic: 2,414,714; cpp: 1,791,394; asm: 381,336; perl: 62,905; sh: 49,647; pascal: 40,897; java: 39,363; python: 20,791; yacc: 20,432; sql: 17,907; xml: 12,344; ruby: 8,544; cs: 6,542; makefile: 6,145; ada: 1,879; lex: 1,193; javascript: 996; objc: 80; tcl: 73; awk: 46; php: 22
file content (137 lines) | stat: -rw-r--r-- 4,828 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
# Simple multi-master test
#

--source include/not_embedded.inc
--source include/binlog_start_pos.inc
--source include/have_perfschema.inc
--let $rpl_server_count= 0

--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
--connection slave

--replace_result $SERVER_MYPORT_1 MYPORT_1 
eval change master 'slave1' to master_port=$SERVER_MYPORT_1, master_host='127.0.0.1', master_user='root', master_ssl_verify_server_cert=0;
--replace_result $SERVER_MYPORT_2 MYPORT_2
eval change master 'slave2' to master_port=$SERVER_MYPORT_2, master_host='127.0.0.1', master_user='root', master_ssl_verify_server_cert=0;
start slave 'slave1';
set default_master_connection = 'slave1';
--source include/wait_for_slave_to_start.inc
set default_master_connection = 'slave2';
start all slaves;

--source include/wait_for_slave_to_start.inc
set default_master_connection = '';

# Ensure that all data is in the relay log
--connection master1
--save_master_pos
--connection slave
--sync_with_master 0,'slave1'
--connection master2
--save_master_pos
--connection slave
--sync_with_master 0,'slave2'

# MDEV-7074 (Sporadic test failure due to a race condition)
let $show_statement = SHOW ALL SLAVES STATUS;
let $field = Executed_log_entries;
let $condition = = 7;
let $wait_for_all = 1;
--source include/wait_show_condition.inc

let read_master_log_pos=`select $binlog_start_pos + 73`;
let relay_log_pos=`select 2*$binlog_start_pos + 117`;
let relay_log_space1=`select 3*$binlog_start_pos + 178`;
let relay_log_space2=`select 3*$binlog_start_pos + 178`;
--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
query_vertical show all slaves status;

--echo #
--echo # MDEV:16437: merge 5.7 P_S replication instrumentation and tables
--echo #
--replace_column 3 #
query_vertical select * from performance_schema.replication_connection_configuration;

# Ensure that start all slaves doesn't do anything as all slaves are started
start all slaves;

--echo #
--echo # MDEV:16437: merge 5.7 P_S replication instrumentation and tables
--echo #
--replace_column 2 #
query_vertical select * from performance_schema.replication_applier_status_by_coordinator;

stop slave 'slave1';

--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
query_vertical show slave 'slave1' status;

reset slave 'slave1';
--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
query_vertical show all slaves status;

reset slave 'slave1' all;
--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
query_vertical show all slaves status;

stop all slaves;
--replace_result $SERVER_MYPORT_1 MYPORT_1 $SERVER_MYPORT_2 MYPORT_2 $read_master_log_pos <read_master_log_pos> $relay_log_pos <relay_log_pos> $relay_log_space1 <relay_log_space1> $relay_log_space2 <relay_log_space2>
query_vertical show all slaves status;

# Ensure that start all slaves doesn't do anything as all slaves are stopped
stop all slaves;

--echo #
--echo # MDEV-21858: START/STOP ALL SLAVES does not return access errors
--echo #
--connection slave
SET SESSION sql_log_bin=0;
CREATE USER 'unpriv'@'127.0.0.1';
GRANT USAGE ON *.* TO 'unpriv'@'127.0.0.1';

connect (con1,127.0.0.1,unpriv,,,$SERVER_MYPORT_3);

--error ER_SPECIFIC_ACCESS_DENIED_ERROR
STOP SLAVE 'slave2';
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
START SLAVE 'slave2';

# Test that STOP/START ALL SLAVES checks privileges, even if there are no
# slaves that need stopping or starting.
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
STOP ALL SLAVES;

--connection slave
START SLAVE 'slave2';
set default_master_connection = 'slave2';
--source include/wait_for_slave_to_start.inc

--connection con1
--error ER_SPECIFIC_ACCESS_DENIED_ERROR
START ALL SLAVES;
--disconnect con1

--connection slave
STOP SLAVE 'slave2';
set default_master_connection = 'slave2';
--source include/wait_for_slave_to_stop.inc

DROP USER 'unpriv'@'127.0.0.1';
SET SESSION sql_log_bin=1;

#
# clean up
#

--source include/reset_master_slave.inc
--disconnect slave
--connection master1
--source include/reset_master_slave.inc
--disconnect master1
--connection master2
--source include/reset_master_slave.inc
--disconnect master2