Allow MariaDB driver Failover and Load Balancing Modes

#1

EDIT: I created a metabase github issue. Please bump it and/or add comments if you are interested in this request.


As of 32.x Metabase moved from mysql connector to MariaDB.

MariaDB connector has some advanced mode settings for connections to MySql clusters (including AWS Aurora clusters). You can read details here.

In a nutshell, the MariaDB jdbc connection url spec looks like this:

jdbc:(mysql|mariadb):[replication:|failover:|loadbalance:|aurora:]//<hostDescription>[,<hostDescription>...]/[database][?<key1>=<value1>[&<key2>=<value2>]...]

However if any of the modes are specified, for example:

jdbc:mysql:aurora://<hostDescription>...

Metabase as of 32.7 cannot correctly parse that this is a ‘mysql’ connection.

Proposal
Allow MariaDB modes using both JDBC configuration options:

export MB_DB_CONNECTION_URI=jdbc:mysql:aurora://<hostDescription>...

or

export MB_DB_TYPE=mysql:aurora:

or possibly introducing a new variable

export MB_DB_MODES=aurora

Rationale
Clustered databases offer a high-availability for Metabase. Since MB has moved to using a more sophisticated database connector, it should also allow for better configuration of that connector.

1 Like
#2

Sounds like a great idea! Can you create the feature request on Github, since that’s where bugs and feature requests are tracked, while the forum is for questions and troubleshooting.
Please post the link here for reference and I’ll give the issue a :+1:

#3

Thanks for the suggestion. Here is the new github issue

1 Like