[MDEV-5765] Replication 5.6=>10.0 causes garbage data on slave if master has binlog_row_image=minimal Created: 2014-02-28  Updated: 2018-05-15

Status: Open
Project: MariaDB Server
Component/s: Replication
Affects Version/s: 10.0.8
Fix Version/s: 10.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Andrei Elkin
Resolution: Unresolved Votes: 2
Labels: verified

Issue Links:
Blocks
blocks MDEV-5705 replication testing: 5.6->10.0 Stalled
Duplicate
duplicates MDEV-6877 Merge binlog_row_image from MySQL 5.6 Closed
Relates
relates to MDEV-6877 Merge binlog_row_image from MySQL 5.6 Closed
relates to MDEV-7471 Enable binlog_row_image parameter in ... Closed
Sprint: 10.1.6-1, 10.1.6-2, 10.1.9-1, 10.1.9-2, 10.1.9-3

 Description   

By default, binlog_row_image=FULL; but it's reasonable to expect that people will set it to something else.
A non-default value, e.g. binlog_row_image=MINIMAL, causes wrong data on slave 10.0 replicating from master 5.6:

Master:

MySQL [db]> create table t1 (i int, c varchar(8));
Query OK, 0 rows affected (1.04 sec)
 
MySQL [db]> insert into t1 values (1,'a'),(2,'b');
Query OK, 2 rows affected (0.08 sec)
Records: 2  Duplicates: 0  Warnings: 0
 
MySQL [db]> update t1 set c = 'foo' where i=1;
Query OK, 1 row affected (0.16 sec)
Rows matched: 1  Changed: 1  Warnings: 0
 
MySQL [db]> set binlog_row_image = minimal;
Query OK, 0 rows affected (0.00 sec)
 
MySQL [db]> update t1 set c = 'bar' where i=1;
Query OK, 1 row affected (0.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MySQL [db]> select * from t1;
+------+------+
| i    | c    |
+------+------+
|    1 | bar  |
|    2 | b    |
+------+------+
2 rows in set (0.00 sec)

Slave:

MariaDB [db]> select * from t1;
+------------+------+
| i          | c    |
+------------+------+
| 1869571587 | NULL |
|          2 | b    |
+------------+------+
2 rows in set (0.01 sec)

Silently replicating garbage is very wrong.
Worst case scenario, the slave may abort replication with an error message saying the format is not supported.



 Comments   
Comment by Daniel Black [ 2015-11-01 ]

This has been implemented for 10.1 as per MDEV-6877 (https://github.com/MariaDB/server/compare/768620ee5c71...1a3321b6496d)

Is 10.0 a goal for this feature?

Generated at Thu Feb 08 07:06:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.