For the replication project that I am currently working on in MariaDB, I wanted to understand exactly what information is needed to do full replication of all MySQL/MariaDB statements on the level of completeness that existing replication does. So I went through the code, and this is what I found. What I am after here… Continue reading Dissecting the MySQL replication binlog events
Fixing MySQL group commit (part 4 of 3)
(No three–part series is complete without a part 4, right?) Here is an analogy that describes well what group commit does. We have a bus driving back and forth transporting people from A to B (corresponding to fsync() “transporting” commits to durable storage on disk). The group commit optimisation is to have the bus pick… Continue reading Fixing MySQL group commit (part 4 of 3)
Fixing MySQL group commit (part 3)
This is the third and final article in a series about group commit in MySQL. The first article discussed the background: group commit in MySQL does not work when the binary log is enabled. The second article explained the part of the InnoDB code that is responsible for the problem. So how do we fix… Continue reading Fixing MySQL group commit (part 3)
Fixing MySQL group commit (part 2)
This is the second in a series of three articles about ideas for implementing full support for group commit in MariaDB. The first article discussed the background: group commit in MySQL does not work when the binary log is enabled. See also the third article. Internally, InnoDB (and hence XtraDB) do support group commit. The… Continue reading Fixing MySQL group commit (part 2)
Fixing MySQL group commit (part 1)
This is the first in a series of three articles about ideas for implementing full support for group commit in MariaDB (for the other parts see the second and third articles). Group commit is an important optimisation for databases that helps mitigate the latency of physically writing data to permanent storage. Group commit can have… Continue reading Fixing MySQL group commit (part 1)
Debugging memory leaks in plugins with Valgrind
I had an interesting IRC discussion the other day with Monty Taylor about what turned out to be a limitation in Valgrind with respect to debugging memory leaks in dynamically loaded plugins. Monty Taylor’s original problem was with Drizzle, but as it turns out, it is common to all of the MySQL-derived code bases. When… Continue reading Debugging memory leaks in plugins with Valgrind
MariaDB talk at the OpenSourceDays 2010 conference
Earlier this month, I was at the OpenSourceDays 2010 conference, giving a talk on MariaDB (the slides from the talk are available). The talk went quite well I think (though I probably talked way too fast as I usually do; at least that means that I finished on time with plenty room for questions..) There… Continue reading MariaDB talk at the OpenSourceDays 2010 conference
Conference time!
It is conference time for me. I just came home from FOSDEM 2010 where we had a booth and I gave a talk. At the end of the month there will be a company meeting in Iceland for Monty Program, followed by Open Source Days 2010 where I will also be speaking. And then in… Continue reading Conference time!
Why I work on Free Software
I happened upon this old LinuxJournal article about how the University of Zululand in South Africa used MySQL and other Free Software to make do with a 128 kbit (and later 768 kbit) internet connection for their staff and students. This made me remember the trip I made to another African country, Burkina Faso, 15… Continue reading Why I work on Free Software
RunVM, a tool for automated scripting inside virtual machines
In the Autumn, I wrote about some experiments I did using KVM and virtual machines to build and test MariaDB binary packages on a number of different platforms. In the period since then I added some polish and refinements, and the system is now running well for some time. We build and test packages for… Continue reading RunVM, a tool for automated scripting inside virtual machines