← Back to team overview

maria-developers team mailing list archive

Global transaction ID

 

Hi Kristian,

Monty asked me to connect with you regarding global transaction IDs in
MariaDB.

I reviewed some time ago the MySQL 5.6 global transaction ID design and
implementation. Unfortunately I really did not like what I found, to the point
that I decided this was not something we would want to have or support in
MariaDB (see https://lists.launchpad.net/maria-developers/msg04837.html for an
ealier mail on this). Both you and Giuseppe also had critisisms about it.

Instead I came up with a (in my opinion) better design. I have now written
this up in (great) detail here:

    https://mariadb.atlassian.net/browse/MDEV-26

It would be great if you (/your team) could comment on this and how it relates
to what you need or any comments/suggestions etc. I know it is a long text,
and a complex problem, so also feel free to just ask me for any clarifications
or explanations you would like, even without digging through the whole text.

The basic idea is to keep the existing concept of a stream of replication
events and a slave's current position within this stream, but in a way that is
uniform across the whole multi-level replication topology (global transaction
ID), and that facilitates simple scripting of automated promotion of a new
master.

I have thought for a long time over this problem and how to best approach it
and make it work well both with existing replication usage and with new
features like multi-source and parallel replication. It is hard to get right,
but I am fairly pleased with what I have ended up with so far. I am hopeful
that this will be a good way forward, but I very much welcome any comments or
alternate suggestions.

Regards,

- (the other) Kristian.


Follow ups