maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #03917
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)