List:Internals« Previous MessageNext Message »
From:Zardosht Kasheff Date:January 30 2013 9:43pm
Subject:reducing fsyncs during handlerton->prepare and handlerton->commit in 5.6
View as plain text  
Hello all,

As I understand it, for transactional storage engines to be in sync
with the binary log after recovery, the storage engine must support
two phase commit (aka XA). In MySQL 5.5 and MariaDB 5.5, the engine
must fsync its log when a transaction prepares and when a transaction
commits. So, for each transaction, there are three fsyncs, one for
prepare, one for the binary log, and one for commit.

I also understand that this requirement has changed in MySQL 5.6 and
MariaDB 10.0. With those releases, there is a way for storage engines
to reduce their fsyncs. I also believe that MariaDB 5.5 still requires
all of these fsyncs.

My questions are:
 - in MySQL 5.6 and MariaDB 10.0, what are the fsyncing requirements
for storage engines during prepare and commit?
 - are there new APIs that the storage engine must comply with in
order to get these benefits?
 - in MySQL 5.6, I see new handlerton methods commit_low and
prepare_low. What do these APIs do? What is their contract?

Thanks
-Zardosht
Thread
reducing fsyncs during handlerton->prepare and handlerton->commit in 5.6Zardosht Kasheff30 Jan
  • Re: reducing fsyncs during handlerton->prepare and handlerton->commit in 5.6Kristian Nielsen31 Jan
  • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Mats Kindahl31 Jan
    • Re: reducing fsyncs during handlerton->prepare and handlerton->commit in 5.6Kristian Nielsen31 Jan
      • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Zardosht Kasheff31 Jan
        • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Mats Kindahl31 Jan
          • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Zardosht Kasheff31 Jan
            • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Mats Kindahl1 Feb
              • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Zardosht Kasheff1 Feb
                • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Mats Kindahl1 Feb
      • Re: reducing fsyncs during handlerton->prepare and handlerton->commitin 5.6Mats Kindahl3 Feb