WL#4621: Recovery process to synchronize the master.info, the relay-log.info and the relay-log after a failure.

Affects: Server-6.0   —   Status: Un-Assigned

SUMMARY
-------
Recovery process to synchronize the master.info, the relay-log.info and the
relay-log after a failure.

MOTIVATION
----------
The master.info and the relay log must be atomically updated to guarantee that
there is no missing event in the slave and events are not processed twice. If
for some reason, they get out of sync, the slave may diverge from the master.

For example, a failure may lead to corrupted events in the relay log, and during
initialization such events are identified and removed from it (WL#5493). 

If during initialization the master.info is not synchronized with the relay log,
the non-corrupted versions of the removed events may not be retrieved from the
master thus making the slave to diverge from the master.

RELATED WORKLOGS
----------------
WL#2775 System tables for master.info, relay_log.info.
WL#5493 Binlog crash-safe when master crashed.
WL#3584 Global Transaction Identifiers (GTIDs)
WL#7353 Relay log recovery should truncate partial transactions
- May be a sub-worklog of the present worklog