We are trying (for the second time) to upgrade D6 to D7 for a site with a 40GB database.

Everything *seems* to have upgraded properly except the Taxonomy.

On the D6 site the
- term_node table has about 71M rows and is 8.2 GB.
- term_data table has about 2M rows and is 238 MB.

After doing the upgrade and getting this error:

Update #7005
Failed: DatabaseSchemaObjectExistsException: Table taxonomy_update_7005 already exists. in DatabaseSchema->createTable() (line 660 of ... /includes/database/schema.inc).

I reviewed D7 site tables and saw that:
- there are about 100 field_data_taxonomy_vocabulary_# tables. The total rows for all of these tables is 4.5M, not 71M as in D6.
- the taxonomy_term_data table has the same number of rows as the term_data table in D6 and is slightly larger.

I don't know if all the taxonomy has been applied properly.

And I am not able to check, because:
- although I can go to the homepage and the url/user page
- I cannot go to url/admin. I get a 500 error.
- if I try to go to content I either get page not found or this: Error - The website encountered an unexpected error. Please try again later.

A little guidance would be appreciated.

I have spent 3 days trying to do this latest migration - most of the time spent on the taxonomy step.

Thanks!

Comments

John_B’s picture

Updating a large Drupal site from 6 to 7 is difficult. If you have got most of the way in three days that is remarkable: the present site took a team of skilled Drupallers 18 months. Personally I would stick with Drupal 6 for a year then go straight to Drupal 8 (where it is a migration, not an upgrade). I have sweated blood for a week or two over upgrading small sites.

If you want to press ahead with the challenge, the first step, in my view, has to be resolving your 500 error. You can find the cause of the error from the Drupal database log (which you can read using the command line tool drush: drush watchdog-show), and the Apache error log, which you can read easily. Be sure to disable all the module you can (as the official upgrade documentation suggests) before you start, to simplify the process.

As for your incomplete database updates, it could well be that the mysql server is bailing out (for want of memory) or timing out (owing to timeout settings) before the relevant update is complete. So it might be worth taking a look at the server setup.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

samdeskin’s picture

Hi John,

Found this error:

Allowed memory size of 2147483648 bytes exhausted (tried to allocate 72 bytes) in /var/www/vhosts/.../modules/taxonomy/taxonomy.module on line 861, referer: http://.../admin

Maybe I should allocate more memory to it and see if it will complete it next time I try the migration ...

I am tempted to go to D8, but the fact that there is no simple upgrade path is a real turn off.

Tried to run # drush watchdog-show
Command watchdog-show needs the following modules installed/enabled to run: dblog.

Looks like I should have that on!

migrate_log in the DB is completely empty

John_B’s picture

If it is not on you can always have Drupal write the messages to file, often something like /var/log/messages, which is more lightweight than hitting the database. Nevertheless, the db log which generates Reports > Recent Log Messages is a useful tool and depending on your site, often the performance hit of keeping it enabled is small and is worth it.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

weif’s picture

If upgrading is taking 18 months - or even 18 weeks - then the system you are upgrading has become a cost liability and needs to be replaced. This is either because you have done something wrong with your implementation and are now paying for that (so the 'replacement' would be fixing what you broke so it can be upgraded) or the underlying software is very broken and really isn't upgradable (so the 'replacement' would be getting different underlying software).