[horde] "correct" way to convert shares and perms from datatree to sql?

Leland J. Steinke steinkel at ctinetworks.com
Wed Jan 28 18:42:54 UTC 2009


I traced my problems with alarms.php to using datatree for storing 
kronolith and nag shares.  I figured that I'd convert everything else 
from datatree to sql while I was at it.  I started with perms, since 
there were so few to be cut over.

I ran the script and changed the conf.php through the web ui.  Every 
customer lost access to horde and errors of the form

> PHP Fatal error:  Perms::getPermissions() [<a href='function.Perms-getPermissions'>function.Perms-getPermissions</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;DataTreeObject_Permission&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition  in /var/www/horde/lib/Horde/Perms.php on line 290, referer: http://www.pa.net/index.php?show=auth&url=%2Fwebmail%2F

filled my error logs.  I found a similar error discussed in 
http://thread.gmane.org/gmane.comp.horde.imp/25369 but how to avoid the 
problem was not spelled out clearly.  Putting perms back onto datatree 
fixed the immediate problem, but did not solve the performance problem 
that started the migration initially.

Should I do the change, then quickly restart memcached and clear out the 
horde_cache table?  Is there any way to do this without kicking hundreds 
of users off?  I don't mind kicking them off, but they have to be able 
to reconnect when I let them back in.  The next time I do this, it will 
be at a much less busy time of day (3AM or thereabouts).

Will converting nag and kronolith (and mnemo and turba) from datatree 
shares to sql be as disruptive?  Should I just shut horde down while I 
do the conversions?


Thanks for any positive suggestions,
Leland
-- 
Leland Steinke
Network Engineer
CTI Networks, Inc.


More information about the horde mailing list