10.7 preview feature: Compression Provider Plugins

MariaDB has been using a pluggable storage engine architecture for a long time and whilst this means great flexibility in choosing and managing the right storage engines for specific use cases, it also means they are easier to develop and therefore there’s an expectation that more engines will be created.

More storage engines means the MariaDB Server itself needs to be as flexible as possible to accommodate all sorts of functionalities that storage engines may need. One area where the MariaDB Server proved to be not that welcoming was in making available all the compression libraries needed by storage engines.

FOSDEM 2021 MariaDB is listening

FOSDEM 2021 was amazing. MariaDB had a developer room and Foundation members contributed talks to a number of other developer rooms. We were listening for ways in which MariaDB server could be improved during all these talks, regardless of which room our MariaDB Foundation staff were in.

MariaDB server developers present provided information related to recently fixed/improved items and things that are planned to be fixed.

Our interactions with the community of users present, many of which we know, gave us an opportunity to have a dialog about some of the parts of MariaDB that they would like improved.

A GSoC internship with the MariaDB Foundation

Introduction

Hi, my name is Kartik Soneji, and I am a second year student at Thadomal Shahani Engineering College, Mumbai. I have been programming since the age of 13. I started out with Java, then learnt a little C++ before diving head first into web development with HTML, CSS and JavaScript. I also programmed a bit in Python and Rust to see what all the hype was about.

My primary motivation to contribute to the open source community is because I strongly believe in the idea that software is free, to copy, modify and study.

Developer tip: test MariaDB install/upgrade quickly with Docker

Here is a quick tip for any developer who might want to test if the latest development version of MariaDB installs/upgrades. Traditionally, developers seem to have a bunch of virtual machines lying around which they use to test MariaDB installation and upgrade related things. Snapshotting virtual images, keeping them up-to-date, starting, stopping etc. takes a lot of time and does not feel very convenient.

A much faster option would be to use pristine Docker images for every test. Docker images however normally only run one process and thus do not simulate a complete operating system and lack vital things like systemd interactions. …

Testing Rocket.Chat and Zulip

The MariaDB Foundation is publicly testing two new communications tools, Rocket.Chat and Zulip, and we’re seeing if they can meet a few of our requirements.

Roughly in order of importance:

1) Open Source
2) A tool similar in functionality to the proprietary Slack.
3) A tool for internal staff chat, replacing some of the proprietary options used at present.
4) A tool with a good hosted solution so that we do not have to worry about hosting and maintaining.
5) A tool to replace/enhance IRC (preferably with good integration).
6) A replacement for proprietary voice and video call channels mainly for internal use. …

Duel: gdb vs. linked lists, trees, and hash tables

My first encounter with the gdb command duel was on some old IRIX about 15 years ago. I immediately loved how convenient it was for displaying various data structures during MySQL debugging, and I wished Linux had something similar. Later I found out that Duel was not something IRIX specific, but a public domain patch for gdb 4.6 written in ’93 by Michael Golan. Unfortunately, it never got into gdb (for licensing reasons, so I’ve heard). Now the gdb 8 is out, and the patch, obviously doesn’t apply. Instead of fixing the patch, I’ve re-implemented Duel in Python, using gdb Python API and the Arpeggio parser. …

Making life prettier with gdb PrettyPrinting API

Anyone who has peeked inside a gdb manual knows that gdb has some kind of Python API. And anyone who has skimmed through has seen something called “Pretty Printing” that supposedly tells gdb how to print complex data structures in a nice and readable way. Well, at least I have seen that, but I’ve never given it much thought. Still, one day, when I was typing:
(gdb) p/t table->read_set->bitmap[0] @ (table->read_set->n_bits+7)/8
for the umpteenth time I asked myself, “why the heck not?”, and so it begun…
(more…)

Developer meeting & community meetup summary

MariaDB 10.1 shipped a few days ago, so it’s now a good time to focus on another important event. Last week we had a three day MariaDB developers meeting. It took place in Amsterdam (Oct 13-15). Meetings like this tend to have a great impact on the roadmap of the product. Booking.com was very kind to offer their facilities for the developer meeting.

Thank you Booking.com!

The day before the developer meeting there was a MySQL meetup arranged at eBay’s office in Amsterdam since, naturally, a lot of MariaDB developers were already in town for the developers meeting.