Page MenuHomePhabricator

Update mariadb GLOBAL defaults for frdbs in preparation for utf8mb4 conversion
Closed, ResolvedPublic

Description

From https://phabricator.wikimedia.org/T273704#6817387 we will need to update some GLOBAL settings. This will need to be done for the utf8mb4 conversion (T270218).

Specifically we will need:

# needed
SET GLOBAL innodb_default_row_format='dynamic';
# needed
SET GLOBAL innodb_file_format='Barracuda';
# already set
SET GLOBAL innodb_file_per_table = 1;
# needed
SET GLOBAL innodb_large_prefix = ON;
# needed
SET GLOBAL innodb_strict_mode = ON;

We need to template these into our my.cnf.erb and apply them to the live systems.

Event Timeline

https://mariadb.com/kb/en/innodb-system-variables/#innodb_large_prefix

Quite a history there. we are on 10.1 on the primary but 10.4 everywhere else. So this one is probably only an issue until we do an origin swap and then we can remove it.

Looking at the three additional variables, it looks like we may be able to avoid this when we upgrade the current origin server. All of the servers running buster and mariadb 10.4 would have the default values of what we are looking for. Will discuss whether it is worth templating these up or just focusing on the conversion.

Decided to go ahead and roll this on frdb1002 to make it consistent with the other dbs until the upgrade is complete. The following commands were needed:

set global innodb_large_prefix=on;
set global innodb_default_row_format='dynamic';
Dwisehaupt claimed this task.
Dwisehaupt moved this task from Up Next to Done on the fundraising-tech-ops board.

Codified in puppet so that the settings will last over restarts.

344efda0 Update mariadb global variables to match 10.4 defaults
Dwisehaupt moved this task from Done to In Progress on the fundraising-tech-ops board.

We should also enable innodb_strict_mode since we are shifting to barracuda as the default. See T150949 for a little more reference.

innodb_strict_mode=on has been set for default my.cnf file. It is in place everywhere we are running mariadb 10.4. frdb1002 (still running 10.1) is not currently accepting the adjustment to the global variable.

Dwisehaupt moved this task from In Progress to Done on the fundraising-tech-ops board.

Closing this out as we will catch frdb1002 into this mix when we have our maintenance window.