Bug #72440 Documentation request regarding relay_log_recovery and Crash Safe Replication
Submitted: 24 Apr 2014 16:02
Reporter: Chris Calender Email Updates:
Status: Open Impact on me:
Category:MySQL Server: Documentation Severity:S4 (Feature request)
Version:5.6 OS:Any
Assigned to: CPU Architecture:Any
Tags: crash safe replication, relay_log_recovery

[24 Apr 2014 16:02] Chris Calender
The manual entry for --relay-log-recovery says:

"To provide a crash-proof slave, this option must be enabled (set to 1), and --relay-log-info-repository must be set to TABLE. See Crash-safe replication, for more information."


When reading "Crash-safe replication", that page says:

"In order for replication to be crash-safe when using tables for logging status and relay information, these tables must use a transactional storage engine, such as InnoDB. Beginning with MySQL 5.6.6, these tables are created using InnoDB. (Bug #13538891)

Therefore, in order to guarantee crash safety on the slave, you must run the slave with --relay-log-recovery enabled, in addition to setting --relay-log-info-repository to TABLE."


The latter makes it sound like *if* you use TABLE, in order to make that crash-safe, the tables need to be InnoDB.

As I understand it, *one* way for crash safe replication is to use --relay-log-recovery=1 + --relay-log-info-repository=TABLE (and ensure the table is InnoDB), but *another* (at least from reading http://bugs.mysql.com/bug.php?id=68281 ) is to use relay-log-recovery=1 + sync-relay-log=1.

If the latter is not an option, then I guess nothing needs added/changed.  However, if it is accurate, then I think a couple of updates would help a great deal.

Note there is a similar message for --relay-log-info-repository, so if it should be updated above, then it should also be updated here.


How to repeat:

Suggested fix: