Upgrade from 2.4.0 to 2.11.2 getting stuck


#1

Hi,
I’m trying to run an upgrade from 2.4.0 to 2.11.2 and core:update is getting hung up. The upgrade went fine in dev/qa but in production it’s gotten stuck at several steps in the DB upgrade, I was able to kill the core:update process after it was sitting with idle mysql for 20 mins and that advanced me through everything but the last DB update. The final one it’s trying to do is

ALTER TABLE piwik_log_link_visit_action MODIFY COLUMN idaction_content_interaction INTEGER(10) UNSIGNED DEFAULT NULL, MODIFY COLUMN idaction_content_name INTEGER(10) UNSIGNED DEFAULT NULL, MODIFY COLUMN idaction_content_piece INTEGER(10) UNSIGNED DEFAULT NULL, MODIFY COLUMN idaction_content_target INTEGER(10) UNSIGNED DEFAULT NULL

That table is around 7GB and the process has disappeared from “show processlist” a few times now and cpu usage drops to nothing indicating it’s just stuck not doing anything. Any suggestions on what might be going on and/or how to fix it?

Thanks,
Nick


#2

I was able to manually run that alter command, however Piwik core:update still wants to run it when I attempt to run the update to finish the upgrade. Is there any way to tell Piwik that it is done doing that already?


#3

for anyone who might come across this in the future I did:

mysql> INSERT INTO piwik_option (option_name, option_value, autoload) VALUES(‘version_log_link_visit_action.idaction_content_interaction’, ‘INTEGER(10) UNSIGNED DEFAULT NULL’, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO piwik_option (option_name, option_value, autoload) VALUES(‘version_log_link_visit_action.idaction_content_name’, ‘INTEGER(10) UNSIGNED DEFAULT NULL’, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO piwik_option (option_name, option_value, autoload) VALUES(‘version_log_link_visit_action.idaction_content_piece’, ‘INTEGER(10) UNSIGNED DEFAULT NULL’, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO piwik_option (option_name, option_value, autoload) VALUES(‘version_log_link_visit_action.idaction_content_target’, ‘INTEGER(10) UNSIGNED DEFAULT NULL’, 1);
Query OK, 1 row affected (0.00 sec)

And it satisfied the update for that alter table statement.