[MDEV-25358] MEMORY tables replication - corrupted binlog upon master start Created: 2021-04-07 Updated: 2021-04-07 |
|
| Status: | Open |
| Project: | MariaDB Server |
| Component/s: | Binary Protocol, Replication |
| Affects Version/s: | 10.3.27 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Tamas DAJKA | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | binlog, memory, replication | ||
| Environment: |
Debian 10.9, 10.3.27-MariaDB-0+deb10u1-log |
||
| Description |
|
The binary log contains illegal/extra characters on master for MEMORY tables after mariadb restart. There are 2 (multi-)master clusters: old-node01/02 and new-node01/02. Old nodes are running Mariadb 10.1, new nodes are 10.3. New-node01 is connected as a slave to old-node02, replication is working ok. The output of the mysqlbinlog on new-node01:
Please notice the illegal chars at the end of the „DELETE FROM" line. Table definition for one of the memory tables: MariaDB @db01 [mydb1]>show create table collect_output;
Since we're talking about huge amount of data, I'm setting up the replication the following way:
Then I copy over all the data with rsync to new-node02 (mariadb is stopped as well). When the copy is done, I start back the new-node01, and start new-node02 with skip-slave-start, so I can change the master data do the values aquired before the copy. I've done the following a couple of times, always leading to the same result. All of the MEMORY tables have the same "bad binlog" entries, if I skip them on the slave (new-node02), than the replications starts up and works ok, even for the MEMORY tables). |