the upgrade from hell
this has to be the upgrade from hell.
took a copy of files and databases. twice.
ran upgrade to latest 6.14, including all modules.
enhanced a few views. added new functions. worked perfectly on laptop backup.
copy to production. memory fail.
done every memory boost possible - htaccess, php.ini, settings.php.
revert to earlier backup of database.
mostly ok, but any views with cck date, don't work (memoryfail) and admin doesnt work (memory fail)
double check module upgrades. delete old views, date, calender, just to make sure. copy latest module to make sure no old stuff hanging around.
by now the only way my backup database works in production, is if i manually edit the database to turn off the date modules.
so things work, but any cck date fields are blank.
grab my database. optimise it. repair it. analyse it.
upload again, but same thing - memory fail on any view with a date field anywhere.
removed gmap and location, to make it run lighter.
turn off anything i dont need.
used devel module to clear cache.
manually delete contents of cache tables.
delete old unused modules.
run update.php.
run cron
keep testing new versions of database after each change.
at all points everything is absolutely fine on my laptop.
but uploading the database to production causes memory fail.
it appears to fail in several areas - sometimes its include/cache/menu.inc, sometimes theme.
but the absolute most common fail is in timezone.
i dont care about timezone.
i have it turned off for users.
my content types dont use it.
sometimes its Call to undefined function date_make_date() in xxx/sites/all/modules/date/date_timezone/date_timezone.install on line 48
usually its undefined timezone.
anyone got ideas?
i really need the date - its an event calendar!
are there any pages cached outside the database?
is there something strange about timezones? is there a timezone variable stored somewhere that I can turn off?
currently i've edited system table date_timezone and turned it off. but it still asks for it.
on my laptop i even deleted the content type that used the cck date field, but i still got timezone install errors when i copy it to production.
arggghhh.
are there any alternatives to the date cck?
i've been trying to upgrade for 6 days, and i'm losing hair.
(its christmas-australia.com, if you want to look. although the current version probably doesn't have all my new lovely functions)

did you used backup_migrate
did you used backup_migrate to export database?
no. i exported using xampp's
no. i exported using xampp's phpmyadmin, and imported to new database using phpmyadmin on cpanel.
i have 6 versions of my database now in production, and edit the settings.php file to point to the latest one after each upload.
it is so interesting that the database can make such as difference. my current working one (christmas2) just has the 6.14 changes, and no memory fails, but won't display the cck date in my events view.
but there were problems even before my upgrade - i had tried to update a view, and got a memory fail. that's why i decided to do a full upgrade (apart from the security release) - it needed a complete overhaul for christmas. including the ability to swap between years.
every other database gives me memory issues, so there is some setting on my databases causing this.
for example on christmas3, events fails (using cck date), but the churchservices view works (using cck datetime), and admin fails.
on christmas5 i deleted everything to do with events, and a few more views fail, including gallery (which is a straight forward image module). but my new christmasgifts and wishlist functions work, because they have nothing to do with dates.
it just gets to me that it works perfectly on my laptop.
it has to be a setting on the database. the fact that i can swap back to database christmas2 and have my events view working, implies this.
i really hate environment issues.
www.christmas-australia.com
www.halloween-australia.com
www.ahealthybusiness.com.au
than you should use
than you should use backup_migrate to export database, because it will skip the content of caching tables.
latest adventures: i was
latest adventures:
i was concerned that removing the cached data was a reason why the timezone was mucking up, as the timezone is one of the variables in the cache table.
i tried deleting the date module completely, assuming that would only stop cck date fields from working, but that also turned off my ability to have views filtering by node-update year,
so i had to bring it back. reinstalling date, refreshed the timezone value in the cache table, and amazingly I haven't had an error with dates since.
i deleted the cck date fields anyway, and replaced them with 6character text fields, so the user has to enter a nasty mmm yy instead of the lovely popup calendar.
deleted the worst-offending content type and completely rebuilt it.
recreated the views.
deleted view cache.
ran update.php.
ran cron.
took another copy of my testing database, and uploaded it to production.
over half of the views still failed with memory exceeded, but at least gallery worked, and i could login to the admin menu, for the first time in ages.
at modules/views/modules/comment/views_handler_field_comment_link_reply.inc on line 1
or modules/views/modules/comment/views_handler_field_comment_link.inc on line 28
or modules/views/modules/node/views_handler_field_node_link_edit.inc on line 29
double checked that the views module was up-to-date with no old files hanging around.
tried to use the devel module to delete cache, but got this error:
call to a member function get_access_callback() on a non-object in /sites/all/modules/views/plugins/views_plugin_display_page.inc on line 78
then after that the gallery stopped working again, with
memory size of 33554432 bytes exhausted (tried to allocate 512 bytes) in /sites/all/modules/image/contrib/image_gallery/views/image_gallery_handler_field_gallery_cover_thumbnail.inc on line 63
gave up on that database, as it appeared to be getting sicker, the more i tried to fix it.
went back to the laptop, cleared cache there, ran update.php, ran cron.
exported database to production, and got the usual:
half the views work
half the views fail with memory exceeded.
another sunny saturday spent inside, all because of the upgrade that wouldn't.
www.christmas-australia.com
www.halloween-australia.com
www.ahealthybusiness.com.au
please have a look here
This may be the issue, but without looking at the sql file and the server, I have no real way of knowing..
It does seem to be a common issue when export from local to production.
http://drupal.org/node/176732 ;Character encoding problem after importing database
hi dbeall i looked at my
hi dbeall
i looked at my uploaded database, and all the tables are utf8_general_ci, same as locally.
thanks though.
www.christmas-australia.com
www.halloween-australia.com
www.ahealthybusiness.com.au
just found something
just found something interesting in views.
the ones that are failing with memory exceeded, are the ones where i filter by node updated date.
When I add the filter, instead of selecting Content, I select Date, even though its a node field I am filtering on.
The reason for this is that it lets me specify the granulation of the filter, so I can have a simple dropdown field for 2009, instead of saying date > yyyymmdd hhmmss.
Now with the devel module installed and display turned on, it gives me details of the code and performance at the bottom of the page.
On these views with the node updated filter, the devel module displays:
"missing join node node".
Not that I built the code - it was generated by the views module.
A missing join would be a good reason for excessive memory use (although why it would also cause the image gallery to fail, when there was no date filter, is hard to understand. it seemed to make the problem bigger and affect the rest of the site.)
went back to the laptop and edited all my views and removed the date filter by year. how sad.
uploaded the database.
this time the error was:
but still ended up with a problem on events
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 404890 bytes) in includes/database.mysql-common.inc on line 41
sigh.
went back to the laptop.
used the devel clear cache
ran update.php
ran cron
visited each view page, to ensure it was cached.
uploaded the database.
almost had it for a while.
all the functions seemed to work in production (although a shadow of their former selves, without location and fancy dates and date filters).
edited an event.
was about to create a new event, when i noticed the previous content type still appeared to be there in the Create Content menu. So there were two events, which would have confused people, especially when the top one that wasn't used any more, gave you a blank screen.
decided to try and edit the navigation menu in production.
but still ended up with a problem on events
Memory exceeded on form.inc.
alas.
www.christmas-australia.com
www.halloween-australia.com
www.ahealthybusiness.com.au
living with limitations
so i guess i have to live with the fact that i can't do any significant updates on my live system (like editing navigation, menus or views), or else the site runs out of memory, and it flows over to the views.
i contacted my host and they said they cannot increase the memory for user accounts over 32M. harumph.
so the 14th version of my database turned out to be the lucky one.
as long as i clear cache, run update, run cron, visit all the pages before i upload, things may just be ok.
lessons learnt:
delete old modules before uploading new versions
don't edit the cache table directly
date is a fussy beast
location is heavy
devel module is cool
phpmyadmin works fine
my host should give me more memory
views can let you generate code that ain't quite right
a different database can make all the difference
a good combination is the devel clear cache, update.php, cron, and visiting each view, before uploading.
i still have lots of lollies, but its the teenagers coming around now for halloween, and time to order pizza for the 5 teenage boys I have staying tonight.
happy halloween/merry christmas and cross fingers that this one works for more than a few minutes.
www.christmas-australia.com
www.halloween-australia.com
www.ahealthybusiness.com.au
I am known for having a big mouth anyway
I have 2 sites here, nice servers(fast), ready to load and go(managed VPS). memory is 96M
I run 140 modules on one of the sites. buckeyelake.org
I run average 80 to 100 modules on my test site davebeall.com
Price is right.. I like it.
http://www.HotDrupal.com
admin_menu is cool to and has clear cache function without the issues that devel has