The schema definitions in hosting define a bunch of LONGTEXT fields with default values of ''. A LONGTEXT field cannot have a default value on MariaDB (and possibly on newer versions of MySQL either). I can roll a patch for this, but ...
The schema as-is also has (for instance) the short_name field defined as a LONGTEXT, but uses it in a WHERE clause in various queries. Because a LONGTEXT can't have an index on it, performance will degrade badly once the tables being queried for such fields start getting larger.
I suggest undoing the hosting_package_update_3 change and setting such a field back to a VARCHAR. A VARCHAR field can be 16Kb in size and can have an index on the first 255 characters, which will make selects with a WHERE clause run much faster.
Realistically, do any users need a short_name that is larger than 16Kb?
Comments
Comment #1
cafuego CreditAttribution: cafuego commentedJust FYI, the errors generated when I run
drush hostmaster-install --version=HEAD
Comment #2
cafuego CreditAttribution: cafuego commentedI have a patch to remove the DEFAULT values from the longtext fields at https://github.com/cafuego/hostmaster/commit/6466df73380af83cd509d791633...
Comment #3
anarcat CreditAttribution: anarcat commentedI suspect this is also the cause of the performance problems I see in #934864: platform verification tasks take forever, and then some more.
I agree that the profile names should be varchar, in fact they are limited within Drupal to 255 characters, so we should stick with that. So let's land a patch that does that too.
Comment #4
anarcat CreditAttribution: anarcat commentedtesting a patch.
Comment #5
anarcat CreditAttribution: anarcat commentedFix committed to git, inspired by your patch: http://git.aegirproject.org/?p=hostmaster.git;a=commitdiff;h=1cb033c434e...