WL#9211: InnoDB: Clone Replication Coordinates

Affects: Server-8.0   —   Status: Complete

EXECUTIVE SUMMARY

This worklog implements support for extracting, propagating and storing consistent replication positions during the process of cloning a server as depicted by WL#9209 and WL#9210. After this worklog is implemented the donor server shall extract and send over to the recipient server consistent replication positions. The recipient shall store and use them to start replicating from a consistent logical point in time with respect to the data it copied from the donor.

USER STORIES

  • As a MySQL DBA I want to make use of the clone command to simplify provisioning of new replicas, so that I replace my scripts that rely on external backup and restore tools and instead I rely on a couple of commands, e.g., CLONE + START SLAVE.

  • As a MySQL Group Replication developer, I want to make use of the clone infrastructure with correct replication positions to enhance distributed recovery, so that the group replication recovery phase can automatically decide whether to use incremental recovery based on binary logs or full state transfer based on clone.

Please refer to User Scenarios in HLS section for more details.

SCOPE

The clone operation is a physical copy of data stored in InnoDB. For additional details, please refer to WL#9209 and WL#9210. Within this context, this worklog addresses provisioning (extracting, transmitting and applying) both types of replication positions:

  • physical (filename, offset)

  • logical (global transaction identifiers)

This worklog does not address:

  • Cloning binary log files consistently across donor and recipient (which would be a way to setup replication positions as well).

  • Adjusting other replication related options after a clone takes place.

  • Any other provisioning activities.

  • Cloning servers across different versions. Therefore it has no applicability for upgrades.

The rest of the provisioning activities and details are covered on other worklogs listed in references section.

GLOSSARY

  • Donor: Server that is being cloned.

  • Recipient: Server that becomes a clone of Donor server.

  • GTID: global transaction identifier

  • GTID_EXECUTED: set of GTID that were handled by a given server.

  • PHY: physical position

REFERENCES

  • WL#11636 InnoDB: Clone Remote provisioning

  • WL#9210 InnoDB: Clone remote replica

  • WL#9209 InnoDB: Clone local replica