forked from Percona-QA/percona-qa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mtr_binlog-format_issue.txt
44 lines (27 loc) · 1.41 KB
/
mtr_binlog-format_issue.txt
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
* Approximate issue description;
When using --log-bin as an option to MTR, one cannot change the binlog format from the default STATEMENT to ROW or MIXED
For example when using;
--mysqld=--binlog-format=ROW --mysqld=--server-id=102 --mysqld=--log-bin --mysqld=--relay-log
options to MTR, the used/reported binlog-format will still be STATEMENT
* This is because of the following hardcoded code in mysql-test-run.pl;
elsif ($skip_binlog and mtr_match_prefix($arg, "--binlog-format"))
{
; # Dont add --binlog-format when running without binlog
}
This looks somewhat incorrect because somehow skip_binlog is always activated automatically.
It is not clear how exactly, but maybe, it is taking from some default file, like;
$ cat t/skip_log_bin-master.opt
--loose-skip-log-bin
or
lib/mtr_cases.pm: push(@{$tinfo->{'master_opt'}}, "--loose-skip-log-bin");
lib/mtr_cases.pm: push(@{$tinfo->{'slave_opt'}}, "--loose-skip-log-bin");
* If you want to use --binlog-format, comment out the lines around line number 5223 (i.e. all elsif code shown above)
* This leads also to another question; how come the replication suite can use ROW/MIXED etc.
It may be that the replication suite is able to still use ROW and MIXED via this file;
mysql-test $ cat suite/rpl/combinations
[row]
binlog-format=row
[stmt]
binlog-format=statement
[mix]
binlog-format=mixed