[Maria-developers] GSoC 2016 MHA GTID support.
Hi, I am a computer science student at the university of Cape Town and wish to participate in GSoC 2016 with MariaDB Foundation. I am interested if working on making MHA understand GTIDs. I am proficient in C/C+, Python/Perl and Im equally familiar with replication. I look forward to hearing from mentors soon. Cheers, Charles.
Hi!
On 4 Mar 2016, at 13:03, Charles Dirk <charlesdirk7@gmail.com> wrote:
Hi,
I am a computer science student at the university of Cape Town and wish to participate in GSoC 2016 with MariaDB Foundation. I am interested if working on making MHA understand GTIDs. I am proficient in C/C+, Python/Perl and Im equally familiar with replication. I look forward to hearing from mentors soon.
This sounds like a good thing that you’re interested in doing. Do you have samples of any work you’ve done so far? For the MHA project you need Perl and an understanding of MariaDB Server GTIDs. MHA’s current implementation supports MySQL GTIDs as well. Looking forward to hearing back from you cheers, -colin -- Colin Charles, http://bytebot.net/blog/ twitter: @bytebot | skype: colincharles "First they ignore you, then they laugh at you, then they fight you, then you win." -- Mohandas Gandhi
Hi colin, Thanks for the kind feedback. I was looking forward to it. I am also called hybrid on #maria. I am proficient in Perl scripting but have not used the DBI package much but I am going through it while working on my proposal. I also have good knowledge of MySQL Server Internal code (Understanding MySQL Internals by O’Reilly Media) which is not much different from MariaDB server. I understand the objective is to implement GTID based fail over. Concerning this project, my first thoughts are: we connect to each slave using the perl DBI package and get the latest GTID transaction applied at that slave, parse each GTID from each slave, and for each domain-id part of the GTID, we return the IP of the slave whose sequence number is highest and that way we have our new Master to take over. Please make any corrections and suggestions on my thoughts so I can make the proposal look good for Google. I really look forward working on this. Cheers, Charles.
Charles Dirk <charlesdirk7@gmail.com> writes:
Concerning this project, my first thoughts are: we connect to each slave using the perl DBI package and get the latest GTID transaction applied at that slave, parse each GTID from each slave, and for each domain-id part of the GTID, we return the IP of the slave whose sequence number is highest and that way we have our new Master to take over.
This would work in many cases. You might want to consider also the approach described in this link, which handles correctly the case where different slaves are ahead in different domains, and the case where gtid_strict_mode=0 and sequence numbers can be out-of-order: https://mariadb.com/kb/en/mariadb/gtid/#start-slave-until-master_gtid_posxxx - Kristian.
participants (3)
-
Charles Dirk
-
Colin Charles
-
Kristian Nielsen