Here on August 1st, I am joining the MariaDB Foundation in a position as Chief Architect Replication. Who am I? I am a long term MariaDB developer; in fact I was one of the very first to join Monty in starting MariaDB back in 2009 (I think Sanja may have beaten me by a few… Continue reading Starting as Chief Architect Replication with MariaDB Foundation
Tag: freesoftware
Hacking a box of 240×320 displays with the ESP8266
For the last few days, I have been playing with some small displays we have lying around in Labitat. We have ninety-odd of them from an old donation, and I thought it would be cool to be able to use them for some fun projects. The displays are ET024002DMU with a built-in ST7787 controller. They… Continue reading Hacking a box of 240×320 displays with the ESP8266
FVWM and Java application window focus
I found the solution for a problem that has been annoying me for quite some time. I am using FVWM for a window manager. A few programs written in Java, most notably the Arduino IDE, will not accept keyboard focus. As soon as the window is given focus using normal window-manager commands, it immediately loses… Continue reading FVWM and Java application window focus
Improving replication with multiple storage engines
New MariaDB/MySQL storage engines such as MyRocks and TokuDB have renewed interest in using engines other than InnoDB. This is great, but also presents new challenges. In this article, I will describe work that I am currently finishing, and which addresses one such challenge. For example, the left bar in the figure shows what happens… Continue reading Improving replication with multiple storage engines
First steps with MariaDB Global Transaction ID
My previous writings were mostly theoretical, so I wanted to give a more practical example, showing the actual state of the current code. I also wanted to show how I have tried to make the feature fit well into the existing replication features, without requiring the user to enable lots of options or understand lots… Continue reading First steps with MariaDB Global Transaction ID
More on global transaction ID in MariaDB
I got some very good comments/questions on my previous post on MariaDB global transaction ID, from Giuseppe and Robert (of Tungsten fame). I thought a follow-up post would be appropriate to answer and further elaborate on the comments, as the points they raise are very important and interesting. (It also gives me the opportunity to… Continue reading More on global transaction ID in MariaDB
Global transaction ID in MariaDB
The main goal of global transaction ID is to make it easy to promote a new master and switch all slaves over to continue replication from the new master. This is currently harder than it could be, since the current replication position for a slave is specified in coordinates that are specific to the current… Continue reading Global transaction ID in MariaDB
Integer overflow
What do you think of this piece of C code? void foo(long v) { unsigned long u; unsigned sign; if (v < 0) { u = -v; sign = 1; } else { u = v; sign = 0; } … Seems pretty simple, right? Then what do you think of this output from MySQL:… Continue reading Integer overflow
Even faster group commit!
I found time to continue my previous work on group commit for the binary log in MariaDB. In current code, a (group) commit to InnoDB does not less than three fsync() calls: Once during InnoDB prepare, to make sure we can recover the transaction in InnoDB if we crash after writing it to the binlog.… Continue reading Even faster group commit!
Tale of a bug
This is a tale of the bug lp:798213. The bug report has the initial report, and a summary of the real problem obtained after detailed analysis, but it does not describe the processes of getting from the former to the latter. I thought it would be interesting to document this, as the analysis of this… Continue reading Tale of a bug