If you have a site with a lot of users update_fix_d7_block_deltas()
can take some time. For us, the update function runs 11,673 time each from menu_update_7002()
and system_update_7004()
, just over 2/3 of the total update function calls, as reported by drush -v. This is quite a lot, especially since we haven't had configurable blocks for 2 years.
Checking ->where('data IS NOT NULL')
is nice, but checking for serialize('block')
should save enough time to make up for the slow query. The query being slow isn't too much of a problem, for Drupal.org's live server, it completes in about 3 seconds.
Comment | File | Size | Author |
---|---|---|---|
#3 | 1536160.patch | 2.23 KB | drumm |
#1 | 1536160.patch | 872 bytes | drumm |
Comments
Comment #1
drummHere is a patch I'm trying out.
Comment #3
drummThis fixes an infinite loop.
Comment #4
drumm(tag)
Comment #5
drummThis helped a bit with cutting our update time from 14 hours to 9 hours. Removing password rehashing was also part of this.
Comment #6
webchickThis is just a performance patch, so not much to test here. The existing tests don't break, so that's encouraging. :)
Committed and pushed to 7.x. Thanks!