Add config option gtid_deployment_step for GTID's deployment
Port the code for gtid's deployment from FaceBook branch https:/
With gtid_deployment
own, but if gtid logged events are received through replication stream
from master, gtids will be logged.
The gtid deployment procedure can be done with the following steps:
1) replicas: gtid_mode = ON and gtid_deployment
master: gtid_mode = OFF and gtid_deployment
On each replica, one at a time, restart MySQL to enable gtid_mode and gtid_deployment
2) new master: gtid_mode = ON and gtid_deployment
rest replicas: gtid_mode = ON and gtid_deployment
old master: gtid_mode = OFF and gtid_deployment
Perform a master promotion as normal, i.e. gtid_mode=ON and gtid_deployment
3) new master: gtid_mode = ON and gtid_deployment
rest replicas: gtid_mode = ON
old master: gtid_mode = ON
Restart the original master to enable gtid_mode. It will now be able to replicate from the new master, and the entire replica set now has gtid_mode=ON. Set gtid_deployment
The original description can be found here: https:/
UPD:
gtid_deployment
The conditions for dynamic switching gtid_deployment
1) If you attempt to enable read_only while you have any explicit locks (acquired with LOCK TABLES) or have a pending transaction, an error occurs.
2) If you attempt to enable read_only while other clients hold explicit table locks or have pending transactions, the attempt blocks until the locks are released and the transactions end. While the attempt to enable read_only is pending, requests by other clients for table locks or to begin transactions also block until read_only has been set.
The operation of dynamically going gtid_deployment
Blueprint information
- Status:
- Complete
- Approver:
- Laurynas Biveinis
- Priority:
- High
- Drafter:
- Vlad Lesin
- Direction:
- Approved
- Assignee:
- Vlad Lesin
- Definition:
- Approved
- Series goal:
- Accepted for 5.6
- Implementation:
-
Implemented
- Milestone target:
-
5.6.22-72.0
- Started by
- Laurynas Biveinis
- Completed by
- Laurynas Biveinis