lp:~vlad-lesin/percona-server/5.6-gtid-deployment-step

Created by Vlad Lesin and last modified
Get this branch:
bzr branch lp:~vlad-lesin/percona-server/5.6-gtid-deployment-step
Only Vlad Lesin can upload to this branch. If you are Vlad Lesin please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

718. By Vlad Lesin on 2015-01-09

Gtid deployment port. The original code can be found here:
https://github.com/facebook/mysql-5.6.

Add config option gtid_deployment_step useful for deployment

Summary:

With gtid_deployment_step enabled, a host cannot generate gtids on its
own, but if gtid logged events are received through replication stream
from master, gtids will be logged.

Modified logic such that sql_thread never generates gtids automatically
on it's own. This diff is likely to be reverted when Oracle adds support
for gtid_mode=UPGRADE_STEP_1 & 2 which may be useful for deployment.

Test Plan:
Tested replication working with the
following scenarios.
1) Both Master and slave with gtid_deployment_step=0 and
   gtid_mode=OFF.
2) Master with gtid_deployment_step=0 and gtid_mode=OFF, slave with
   gtid_deployment_step=1 and gtid_mode=ON.
3) Both master and slave with gtid_deployment_step=1 and gtid_mode=ON.
4) Master with gtid_deployment_step=0 and gtid_mode=ON, slave with
   gtid_deployment_step=1 and gtid_mode=ON.
5) Both master and slave with gtid_deployment_step=0 and gtid_mode=ON.

The difference between the original and ported codes:

1) Any code related to enable_gtid_mode_on_new_slave_with_old_master
system variable is removed as this variable absents in Percona Server.

2) gtid_deployment_step is dynamic variable now, the conditions of
changing the variable value are the same as for "read_only" variable
(see http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_read_only):
a) 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.
b) 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.

715. By Laurynas Biveinis on 2014-12-16

Null-merge lp:percona-server/5.5 rev 722

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.

Subscribers