[horde] "correct" way to convert shares and perms from datatree to sql?
Jan Schneider
jan at horde.org
Thu Jan 29 10:43:37 UTC 2009
Zitat von "Leland J. Steinke" <steinkel at ctinetworks.com>:
> 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
>> "DataTreeObject_Permission" 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.
Try turning of the perms/share caching, at least during the migration.
> 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).
This indeed is a cache problem, i.e. you still have objects from the
old configuration in the cache that don't work anymore in the context
of your new configuration. I was pretty sure that we fixed the code so
that it invalidates cache objects once the driver changes, but maybe
we missed one place.
> 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?
*Any* migration is *always* disruptive and should *never* be made on a
running production system.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the horde
mailing list