maria-developers team mailing list archive
Mailing list archive
Re: Testing group commit with XtraBackup
I think this test is entirely possible within the existing framework so I
will try to do it eventually.
----- Original Message -----
From: "Kristian Nielsen" <knielsen@xxxxxxxxxxxxxxx>
To: "Philip Stoev" <philip@xxxxxxxxx>
Sent: Wednesday, March 09, 2011 8:36 AM
Subject: Testing group commit with XtraBackup
I thought of another test of group commit that ought to be done (not sure
I didn't think to mention this earlier, sorry about that). It's not
just something for the list.
The test is basically the same you already did for non-blocking `mysqldump
--master-data --single-transaction` used to provision a slave, but using
XtraBackup instead of mysqldump.
From what I could learn, the original reason that InnoDB added the mutex
kills group commit when binlog is enabled is the following: To ensure that
commit order in the InnoDB transaction log is the same as in the binlog.
is needed when XtraBackup (innobackup really, but they work the same and
XtraBackup is Free Software) takes a non-blocking backup of the InnoDB
(only), and this is used to provision a new slave. If commit order was
different, there might not be any binlog position on the master
to the backup snapshot used to setup the new slave.
Now, my group commit work also guarantees consistent commit order, but
completely different method that does not kill group commit. So we ought
So the test would be similar to your existing mysqldump test. But while
master is running, we would use non-blocking XtraBackup to take a
snapshot. This snapshot we would then restore onto a new slave. The slave
would then be configured with CHANGE MASTER TO, I believe one gets the
binlog position to start from in the log file of XtraDB and/or slave
need to check up on details). Then the test proceeds as the mysqldump
letting the slave catch up and checking that replication is ok etc.
What do you think?
Now, to do this we would need to be able to use XtraBackup. I am wondering
it wouldn't make sense to at the same time include XtraBackup into
XtraBackup seems to me quite mature already, and a very good product
besides. It is arguably long overdue for us to include it.
So if we include XtraBackup in mariadb-5.2-rpl (/5.3), I think this should
possible to setup without too much trouble (I can provide specific
details/scripts for how to actually run XtraBackup and setup slave start
position, I just need to research that a bit).
Or we could also do the test first with XtraBackup as external, shouldn't
much harder, and would give us some experience with it.
What do you think? Maybe we can look at it in more detail in Lisbon.