Hi Kristian, I am having a doubt, GTID assignss unique identifier to every transaction. And gtid_mode variable is not dynamic.Should the constraint of matching the master and replica be dropped to implement this.
On 2/23/15, Kristian Nielsen <[email protected]> wrote: > Rohit Kashyap <[email protected]> writes: > >> I am Rohit Kashyap, I am currently working on MDEV-7569 >> and recently came over to your post on Support for GTID in mysqlbinlog >> [MDEV-4989] >> I would like to ask you for guidance and leads on this so that I can >> take it up as my GSoC'15 Project under MariaDB. > > So I took a quick look at what mysqlbinlog currently supports, and how it > could be extended to GTID. Looks like it's actually pretty clear: > > - The --start-position and --stop-position options should be able to take > GTID positions; or maybe there should be new --start-gtid and > --stop-gtid > options. Like "--start-gtid=0-1-100,1-2-200,2-1-1000". > > - A GTID position means the point just _after_ that GTID. So starting from > GTID 0-1-100 and stopping at GTID 0-1-200, the first GTID output will > probably be 0-1-101 and the last one 0-1-200. Note that if some domain > is > not specified in the position, it means to start from the begining, > respectively stop immediately in that domain. > > - Starting and stopping GTID should work both with local files, and with > --read-from-remote-server. For the latter, there are a couple of extra > things that need doing in the master-slave protocol, see > get_master_version_and_clock() in sql/slave.cc. > > - At the end of the dump, put these statements as discussed in the bug: > SET session.server_id = @@global.server_id, > session.gtid_domain_id=@@global.gtid_domain_id; > > Probably some more things will come up during the work, but this looks like > a > reasonable start. > > I would recommend to start by reading the GTID documentation, and > experimenting with all the relevant features described there, to > familiarise > yourself with it. The main thing is to understand the concept of GTID > position > and binlog order, and the relation to replication domains: > > https://mariadb.com/kb/en/mariadb/global-transaction-id/ > > And similarly, familiarise yourself with mysqlbinlog and how it would make > sense for it to be extended to support GTID. > > Then make a detailed proposal for how the user-visible interface of > mysqlbinlog should be extended, and send it to the list for comments. > > The next step will be to understand the concept of binlog state > (@@gtid_binlog_state), and how it is used to deal correctly with > out-of-order > GTID sequence numbers in binlogs. This is mostly an internal implementation > detail, but necessary to be able to correctly identify starting and > stopping > GTID positions in all cases. > > Hope this helps, > > - Kristian. > -- Kind Regards, Rohit _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

