MariaDB version mismatch
Slightly complicated versioning issue here. Problematic due to https://mariadb.org/mariadb-dump-file-compatibility-change/ but could be a problem under other circumstances I guess. The version of the mariadb/mysql client in the appserver container is not the same as the version of the database server. Example:
recipe: drupal11
config:
php: 8.4
database: mariadb:10.11
Will result currently in a database server with MariaDB 10.11.9, and an appserver client of 10.11.6 (due to https://packages.debian.org/bookworm/default-mysql-client -- https://packages.debian.org/bookworm/mariadb-client). Which is incompatible with exports made from 10.11.8+ (Could theoretically have this be a problem with a variety of version differences)
There are definitely multiple potential ways to solve this so wanted to discuss rather than going straight to a PR.
My first thought is:
- In appserver generation
- check if database version is set
- If set and MariaDB:
- use the mariadb setup script https://mariadb.com/docs/server/ref/repo/cli/mariadb_repo_setup/ to download a matching client on the appserver
I'm actually currently working on resolving the compatibility issue in the underlying PHP service plugin by installing newer versions of the mariadb client on the images. That way any recipe that uses PHP will have a version that's compatible with the dump file change.
With that, I've also been thinking about how recipes might install the matching version of the client tools or if it's beneficial at all to do that. I can't say I've ever seen an issue where mismatched versions were a problem, except for this one compatibility issue that is resolved by bumping to recent patch releases rather than actually matching the versions.