Binary log events larger than max_allowed_packet can lead to slave failure even after fix of MySQL bug #60926
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL Server |
Unknown
|
Unknown
|
||||
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.6 |
Triaged
|
High
|
Unassigned | |||
5.7 |
Triaged
|
High
|
Unassigned |
Bug Description
To fix bug #60926 new variable, --slave-
How to repeat:
Start master and slave with max-allowed-
On master:
set binlog_
create table t1(f1 longtext);
insert into t1 values(repeat('a', 1073741824/4));
create table t2 like t1;
flush logs;
insert into t2 select concat(f1,f1,f1,f1) from t1;
Ensure data inserted properly into t2:
mysql> select count(*) from t2;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
On slave:
mysql> show slave status\G
*******
Replicate
Replicate_
Master_
Replicate_
Slave_
Last_
Last_
1 row in set (0.01 sec)
mysql> select count(*) from t2;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
Events less than 1G replicated successfully:
mysql> select count(*) from t1;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
Suggested fix:
Make slave ignore max-allowed-packet value completely, because with ROW format is easy to create such big events
Changed in percona-server: | |
milestone: | none → 5.6.25-73.2 |
milestone: | 5.6.25-73.2 → none |
no longer affects: | percona-server/5.7 |
tags: | added: upstream |
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/ /jira.percona. com/browse/ PS-915