← Back to team overview

maria-developers team mailing list archive

WL#175 New (by Mdcallag): Unique ID in binlog event metadata

 

-----------------------------------------------------------------------
                              WORKLOG TASK
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
TASK...........: Unique ID in binlog event metadata
CREATION DATE..: Fri, 11 Feb 2011, 05:03
SUPERVISOR.....: 
IMPLEMENTOR....: 
COPIES TO......: 
CATEGORY.......: Server-RawIdeaBin
TASK ID........: 175 (http://askmonty.org/worklog/?tid=175)
VERSION........: Server-9.x
STATUS.........: Un-Assigned
PRIORITY.......: 60
WORKED HOURS...: 0
ESTIMATE.......: 0 (hours remain)
ORIG. ESTIMATE.: 0

PROGRESS NOTES:



DESCRIPTION:

While I would love to have global transaction IDs for MySQL replication 
(http://askmonty.org/worklog/Server-RawIdeaBin/?tid=31) that is a huge project. I 
think we can automate slave failover if binlog events have a metadata attribute 
that is a unique ID and that metadata is sticky like server ID when a slave is run 
with --log-slave-updates.

Assuming this metadata is added, when it is time to do slave failover, first 
determine the serverID + uniqueID for the last binlog event group executed on the 
slave, then find that filename/offset for that event on the new master, then 
CHANGE MASTER on the slave to start replication on the new master just past that 
offset.

I mention that serverID can be used in addition to the uniqueID, so maybe uniqueID 
only needs to be unique within the binlog events generated for one serverID. The 
search on the new master is more efficient when the uniqueID are generated in 
increasing order. But I am not sure whether that is required.

We might need a new server command that maps (serverID, uniqueID) to (filename, 
offset), but I am not sure that is required.


ESTIMATED WORK TIME

ESTIMATED COMPLETION DATE
-----------------------------------------------------------------------
WorkLog (v4.0.0)