[go: up one dir, main page]

Page MenuHomePhabricator

Add MariaDB version check in wikimedia/rdbms (separate from MySQL)
Closed, ResolvedPublic

Description

MariaDB versions diverged from vanilla MySQL a long time ago

I wonder if we should be adding version constraints to allow requiring a separate minimum MariaDB version.

Originally prompting for this came with the introduction/usage of Doctrine (T191231), and the master version (to become version 3) didn't support MariaDB 10.0, which is still going to be greater than our requirement of MySQL 5.5

https://github.com/doctrine/dbal/commit/355d242f4cbc40f5d475c13a5bdbf85a44f35b89

They do support MySQL 5.0+ as per https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/platforms.html, and have more specific support for MySQL 5.7 and MySQL 8.0 too

Doctrine 2.10/3.0 (what we have) they do support MariaDB 10.2.7 and above, which may be an issue for WMF prod (at least as far as generating schema change SQL queries), with 10.1 (which we are still running on some servers) in at least some cases https://www.doctrine-project.org/projects/doctrine-dbal/en/2.9/reference/platforms.html https://github.com/doctrine/dbal/blob/2.9/lib/Doctrine/DBAL/Platforms/MariaDb1027Platform.php

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

I've filed https://github.com/doctrine/dbal/issues/3728 for clarification about what versions of MariaDB 2.9 and 2.10 of dbal actually support..

kchapman subscribed.

Untagging CPT, TechCom feel free to retag.

@Marostegui is this going to be an issue for us? What is the timeline for the upgrades in production?

@Marostegui is this going to be an issue for us? What is the timeline for the upgrades in production?

From what I can see on https://github.com/doctrine/dbal/commit/355d242f4cbc40f5d475c13a5bdbf85a44f35b89#diff-354f30a63fb0907d4ad57269548329e3L154 they do support 10.1, which is the version we are at on now.
We do not have any 10.0 in production anymore.

In our roadmap, ideally we'd go for 10.3 or 10.4 (we'll most likely skip 10.2).
However, it is not yet 100% clear what we'll do, if we'll continue on MariaDB or move to MySQL (8.0) or Percona (based on MySQL 8.0 anyways).
There is an on-going discussion about if we should remain on MariaDB (given how much they have diverged and given that they will keep diverging even more in the future) or move back to MySQL/Percona. There is no clear answer at the moment for that.

Going back to their response, it sounds like it'll fall back to generic MySQL spec SQL, and things might work - https://github.com/doctrine/dbal/issues/3728#issuecomment-553584911

Yes, the older MariaDB versions were covered by MySQL platforms, but DBAL won't paying attention to compatibility with MariaDB 10.0 anymore.

As we're only using it for installs/upgrades, it's probably less of an issue for WMF prod. But I do think it's prudent to make sure we have version checking support for MariaDB, rather than just parsing it out as as the MySQL version and relying on that

I believe other people use Percona (@Hexmode is one from memory) so maybe we should be making this a bit more generic, adding version checking for mysql derivatives to MW Core

daniel subscribed.

Re-tagging CPT. TechCom sees no cross-cutting concerns. Can be treated as a feature request to the DB abstraction layer.

Krinkle renamed this task from MariaDB Version Checking to Add MariaDB version check in wikimedia/rdbms (separate from MySQL) .Nov 27 2019, 9:32 PM
Krinkle moved this task from Untriaged to Rdbms: MySQL support on the MediaWiki-libs-Rdbms board.

We think this makes sense since MariaDB is a supported DB platform and has diverged in version numbers from MySQL. As code stewards for database, it falls to CPT to work with this feature. We think this is probably more of a "short project", but since we haven't set up a pipeline for that, we're moving to clinic duty.

(with @CCicalese_WMF)

@Reedy can you update the priority for this task?

daniel triaged this task as Medium priority.Apr 7 2020, 1:06 PM
daniel moved this task from Inbox to Backlog on the Platform Team Workboards (Clinic Duty Team) board.

@AMooney: Assuming that "Set projects" was accidentally used instead of "Add projects", hence restoring some previous project tags.

Change 940485 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/core@master] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940485

Change 940485 merged by jenkins-bot:

[mediawiki/core@master] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940485

Umherirrender claimed this task.

Change 940921 had a related patch set uploaded (by Reedy; author: Umherirrender):

[mediawiki/core@REL1_39] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940921

Change 940922 had a related patch set uploaded (by Reedy; author: Umherirrender):

[mediawiki/core@REL1_40] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940922

Change 940921 merged by jenkins-bot:

[mediawiki/core@REL1_39] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940921

Change 940922 merged by jenkins-bot:

[mediawiki/core@REL1_40] installer: Check MariaDB version in updater/installer

https://gerrit.wikimedia.org/r/940922