pt-table-sync: do not set binlog_format on destination server
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Toolkit moved to https://jira.percona.com/projects/PT |
In Progress
|
Low
|
Frank Cizmich |
Bug Description
bug#997155 refers to an issue when using RBR and this triggered setting binlog_
However, this is not quite right.
If syncing a table between 2 different _unconnected_ servers, not linked via replication, then the effect the binlog_format is irrelevant, and additionally if the destination server is already a master which runs in RBR mode you really should not be trying to change the binlog format.
So please provide an option to _not_ set this option on the destination server (potentially a master), when synchronising a table between 2 servers which are not connected by replication.
It's been necessary to work around this by patching the code but that's ugly and under these circumstances the check and setting the binlog_format is really not necessary.
Seen on 2.2.12 (percona-
Servers involved are running MySQL 5.6 and MariaDB 10.0
If you need more info please let me know.
tags: | added: pt-table-sync |
Changed in percona-toolkit: | |
status: | New → In Progress |
importance: | Undecided → Low |
assignee: | nobody → Frank Cizmich (frank-cizmich) |
milestone: | none → 2.2.14 |
Changed in percona-toolkit: | |
milestone: | 2.2.14 → none |
Hello Simon,
Although not recommended, the change of binlog_format to "statement" happens at the session level, so it doesn't affect the regular operation of the master.
Nevertheless I agree that it's unnecessary in the use cases you mention. Also, the change requires super privilege, so if it's not needed it should be avoided.
I've prepared a fix without adding an extra option, since it's clear from the use cases when binlog_format should be altered or not.
Thanks for reporting
Regards
Frank