Database upgrade from 0.6.2 to 1.7.1 taking very long time


#1

The database has been processing this statement :

ALTER TABLE jos_piwik_log_link_visit_action CHANGE server_time server_time DATETIME NOT NULL

for 77minutes right now, and still going.

The table has 1939420 rows.

I know it said it may take a while, but is this normal?

I updated a dev site where this table had 918678 rows in about 10minutes.

Any ideas / opinions please?

Thnaks, MC


(Matthieu Aubry) #2

you can try killing this query.
It should proceed to the next one?

we also recommend to enable maintenance mode in Piwik before running a long update: How to - Analytics Platform - Matomo

this is to ensure there is no INSERT/etc on the tables. but this feature wasn’t available in 0.6.2 but now is


#3

Hi Matt

Thank you for your very prompt reply.

I stopped the query, and the update process stopped, with the messages

ERROR 2013 (HY000) at line 15: Lost connection to MySQL server during query
ERROR 2006 (HY000) at line 16: MySQL server has gone away
ERROR 2006 (HY000) at line 17: MySQL server has gone away
ERROR 2006 (HY000) at line 18: MySQL server has gone away
ERROR 2006 (HY000) at line 19: MySQL server has gone away
ERROR 2006 (HY000) at line 20: MySQL server has gone away …

I just restarted the update process for want of anything else to do

The server is once again working on the statement:

ALTER TABLE jos_piwik_log_link_visit_action CHANGE server_time server_time DATETIME NOT NULL

I should point at that the mysql server state is "Repair with keycache "

This is a dev environment, so no-one is using the site, but I added these lines to the config file, just in case.

maintenance_mode = 1
record_statistics = 0

The other site I updated was on the same server, but the database had less piwik data.

I am worried that if I just kill the alter table statement, then the database table would not be updated correctly anyway?

Has no-one else experienced this issue?


#4

I redid the mysql update process.

This time it completed in 67 minutes.