Deep dive into Clang sanitizer testing with MariaDB

MariaDB uses Clang’s memory, address, and undefined behavior sanitizers are used for identify coding flaws during the continuous development and testing process. MariaDB would like to share via an online event on how easy perform the same sanitizer checking.

The MemorySanitizer environment is particularly onerous to create. Because MariaDB use container based build and testing, we have an environment that can be re-used by anyone.

Our “Deep Dives” were once an internal skills transfer mechanism, however for the first time we’re making it available for anyone to join.

This particular deep dive will cover:

“Amen” statement for committing transactions

Every once in a while a truly inspiring contribution comes to us at MariaDB. Today’s timely contribution was from Sigma, and their inspiring contribution was in pull request 3937 which adds the AMEN statement for committing transactions. The need for harmonizing cultural norms with SQL standards is largely under explored aspect of engineering and here seems to be a good a place to start as any.

As described:

This pull request introduces a new statement, amen, which serves as an alternative to the traditional commit command in MariaDB. The motivation behind this change is to provide a more thematic and culturally resonant way to conclude transactions, reflecting the religious connotation of the name “MariaDB”.

SQL Fiddles updated to MariaDB 11.4

There are a number of SQL Fiddles, web interfaces to databases for testing / learning SQL. Recently we noticed the versions on these falling behind and not presenting users with updates that would deliver the latest MariaDB features and bug fixes.

In reaching out to the people that manage these fiddles we’re pleased to announce that so far, two providers have updated their MariaDB version(s).

PHPize.online / SQLize.online

PHPize.online and SQLize.online are the pet projects of Slava Rozhnev. These have both been updated and now have available MariaDB 11.4, our current long term support version, and also MariaDB 11.5.

UBI based Docker Official Images

We launched Red Hat UBI based Docker Official Images for MariaDB! These are available on Docker Hub with tags containing ubi including lts-ubi.

The MariaDB plc folks suggested this would be good for enterprise users. After dusting of an old prototype, jointly developing the image, a couple of requests for packages into the UBI repository, and running through our test suite for compatibility testing, there is now an image available for everyone that will be maintained.

Attention to the Red Hat Open Shift Certification Policy made some compliance changes to the UBI based MariaDB image.

Where is the official MariaDB Container Image?

Easy question, easier answer. Docker Official Images are the official image distributor of MariaDB Server. It was years ago that the Docker Official Image of MariaDB Server gained all its environment variables in MARIADB_* form and its fork on the MariaDB Corporation Docker Hub was deprecated and eventually removed. As a result of contributing to the Docker Official Images of MariaDB Server, the day to day maintenance was transferred to the MariaDB github organization. Here, the MariaDB Foundation, with support from MariaDB Corporation (now MariaDB plc) on server and releases, continue to develop and support the Docker Official Image.

Feedback requested: The Good/Bad/Ugly

Hi, we from the MariaDB Foundation are having a set of meetings with developers and senior managers from all over the world. We’d like your feedback on the Good/Bad/Ugly bits of MariaDB Server as you see it, and generally what we could be doing better. Please leave comments here, or Reddit, or email discuss@lists.mariadb.org (subscription), or email me directly daniel@mariadb.org.

This will be discussed at the MariaDB (Un)conference 2023 and MariaDB Server Fest 2023 which you are welcome to attend also to state your cases in person.

Database changes should be SCARY

“The only workload that matters is my production workload” (for all values of “my”). So you can manage this responsibility, SCARY is a software tool which aims to take the uncertainty out of change; software, configuration and hardware changes. This is very early in development, but projects have to start somewhere.

SCARY takes a read view of the production database query execution, and does the equivalent query on a copy of the production database, that has differences. The query speed, query plan, data result (eventually) will be recorded along with what went on in production.

MariaDB Server Docker Official Images Healthcheck without mysqladmin

MariaDB Server 11.0 was recently released and its Docker Official Image didn’t include mysqladmin which broke the healthcheck in a few usage scenarios. This surprised some people in the change of behaviour. We have observed a number uses of the mysql names in containers, custom healthchecks and some /docker-entrypoint-initdb.d scripts. To help use these correctly, lets talk about what is available in the containers to help perform healthcheck and initialization functions.

On healthchecks, HEALTHCHECK isn’t there in Docker Official Images (for reasons), however the MariaDB Server container does have a healthcheck.sh script.