Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
update.php needs to be able to complete without assistance or errors.
Blockers
- #1542666: Clean up duplicate files.filepaths Worked around by removing duplicate files entries, probably causing some orphans.
- #1235638: Increase password security for *.drupal.org using phpass Worked around by disabling password rehashing update, breaking normal logins via the website.
- #1568176: [meta] Get latest D6 versioncontrol code deployed Worked around by skipping versioncontrol updates.
- #1549390: taxonomy_update_7005() can be faster Not actually a blocker, but saves significant time.
- #1586166: system_update_7013() and user_update_7002() should not call l(), #1587822: Code style: link in field_system_info_alter() May not be blockers if another workaround is used.
- Re-enable project_issue, which was throwing errors.
- Re-enable versioncopntrol, which was throwing errors.
- Re-enable apachesolr, which was throwing errors.
Comment | File | Size | Author |
---|---|---|---|
#10 | consoleText.txt.gz | 91.84 KB | drumm |
#3 | consoleText.txt | 724.93 KB | drumm |
Comments
Comment #1
drumm#1542666: Clean up duplicate files.filepaths blocks this. The temporary workaround is
echo -e 'SELECT concat("DELETE FROM files WHERE fid <> ", f.fid, " AND filepath = \047", f.filepath, "\047;") AS \047\047 FROM files f GROUP BY cast(f.filepath AS BINARY) HAVING count(DISTINCT f.fid) > 1;' | drush @7 sql-cli | drush @7 sql-cli
Comment #2
drummGetting ready to run this again. Confirmed our only hack is skipping password rehashing in
user_update_7000()
, this will be removed by #1235638: Increase password security for *.drupal.org using phpass.I'll be applying #1549390: taxonomy_update_7005() can be faster to test that out.
Comment #3
drummThis completed in 7 hr 44 min. The last comparable runs were 9 hr 57 min and 9 hr 12 min. Not as huge as I'd hoped, but I think we can say #1549390: taxonomy_update_7005() can be faster reduced the time by approximately 20%, with plenty of caveats, these updates have not been running consistently at all. There were some errors, so we can't double check that all the terms are in place and definitively update that issue yet.
The log is attached. There were 3 errors.
I'm not sure where this is coming from yet. This update function looks like it could not cause that error.
This is trying to run a 6.x update on 7.x. #1568176: [meta] Get latest D6 versioncontrol code deployed will fix it.
role_activity_update_7000()
needs to be run afteruser_update_7007()
, which adds therole.weight
column.The site itself isn't working since
drupalorg_update_7003()
doesn't fully enable views used on the home page. drupalorg actually has a fix for this in Git, but it hadn't made it into BZR.Comment #3.0
drummSummarize blocker issues.
Comment #4
drummI updated the issue summary with blockers. Everything is tentatively resolved in some way except
More runs of user_update_7002() completed when running update.php again. Tracking down the problem will probably need a backtrace next time.
Comment #5
bfroehle CreditAttribution: bfroehle commentedI wonder if the error in user_update_7002 isn't coming from the warning at the end:
In particular, the use of
l
could conceivably load the theme layer...This would explain why future updates completed successfully --- there were no additional users which failed to have their timezone data migrated.
Comment #6
drummbfroehle - That's exactly what's happening. I filed #1586166: system_update_7013() and user_update_7002() should not call l() to get this in line with other update functions.
I also added
drupalorg_update_dependencies()
to make suredrupalorg_update_7003()
runs afterprofile_update_7001()
, since it ends up using theprofile_field
table.Comment #7
webchickDoes that change make sense to make upstream in D7 core?
Thanks for all of your work on this, drumm!
Comment #8
drumm#1586166: system_update_7013() and user_update_7002() should not call l() makes it look like a good change for 7. I don't know how to test it.
Comment #9
drummWe are now getting a bit further. The one error is now
This is an even-more-roundabout case of
l()
being called, starting the theme system, causing ctools to error out. I'm going to look at a few solutions:UPDATE system SET status = 0 WHERE name IN ('apachesolr' …
, but updates from those modules are still run. Drush doesn't work since we have the D7 codebase and a D6 database. We couldI'm going to look at getting a D6 codebase involved so we can use drush pm-disable ctools.
Comment #10
drumm(Trying to attach a compressed file, and re-adding tags)
Comment #11
bfroehle CreditAttribution: bfroehle commentedAnother option, which might just be kicking the can down the road, would be to set
$conf['theme_link'] = FALSE
during the upgrade.Comment #12
drummI filed #1587822: Code style: link in field_system_info_alter(), which happens to be a stopgap solution for us. I fully expect to come back to #9.
I'll look into
theme_link
. I didn't know about that, maybe we don't need it for anything and can save some work for our servers all the time.Comment #12.0
drummNote crashing modules
Comment #13
drummI went ahead and added
$conf['theme_link'] = FALSE;
tosettings.php
to disable it forever. We aren't using it and have link-heavy pages that we can keep fast.I'm going to leave this issue for the day since we have two stopgaps in place.
Comment #14
drummThis is completing successfully now. I did a bit of cleanup to make sure drupalorg updates work well:
- The drupalorg_user feature wasn't getting the new fields enabled quick enough for the update to populate them.
- The primary links block wasn't shown because blocks hadn't been rehashed at the time.
And I removed some debugging code.
Once this update completes, I'll schedule it to run nightly and we can either call this done, or leave it open to track dependencies from the issue summary.
Comment #15
David_Rothstein CreditAttribution: David_Rothstein commentedFor what it's worth, Drupal core already disables these automatically, via update_fix_compatibility(). And I'm pretty sure running a D6->D7 update via Drush does it too.
I think the only way it doesn't do that is if you've already updated the contrib modules' code to Drupal 7 before running the updates (which may of course be the case here).
Comment #16
drummScheduled to run nightly at 7:00 Jenkins time, which should be midnight PDT.
Comment #17
drummFollowup issue: #1597828: QA Drupal.org on D7
Comment #18.0
(not verified) CreditAttribution: commentedAdding found issues.