[horde] horde-remove-user-data leaves data of user in various tables

Michael J Rubinsky mrubinsk at horde.org
Fri Jun 20 16:53:32 UTC 2014


Quoting Steffen <skhorde at smail.inf.fh-bonn-rhein-sieg.de>:

> I'm using 2014-06-20's stable PEAR packages of Horde 5.
>
> If I remove the user data with horde-remove-user-data, the user data  
> in the rampage tables are left untouched and there are entries  
> imp:<user>: in horde_histories still.
>
> a) Would it make sense to call history->removeByParent("imp:<user>")  
> in removeUserData() of imp?

We don't remove history data for any other application. I would say we  
shouldn't remove it for IMP either. For other apps, it's possible the  
data could still be used for synchronization, for IMP even though this  
is not the case, I could see it being used as some type of audit trail.

> I think those entries are used by the <user> only and never, if  
> <user> shares messages via IMAP or a message has more than one  
> recipient, is this correct?
>
> b) Would it make sense to remove rampage entries of objects, when  
> they are removed, e.g.:
> rampage_objects contains KOrganizer-1071308750.554 type = event
> horde_histories contains
> 67131   kronolith:<user>:KOrganizer-1071308750.554    delete  1403014360

I thought the content system already had some GC functionality to  
check for orphaned rampage_objects, though I could be wrong.


> c) Would it make sense to remove rampage entries of users in  
> removeUserData()?

I think this *should* be ok. IIRC, for shared resources we tag the  
entry twice, once as the owner and once as the user doing the tagging.  
Not sure if this is something we can always assume going forward, but  
the way things are now, I don't see this as a problem.


> http://wiki.horde.org/DatabaseCleanup
> contains some code to remove tags and finally users from the rampage  
> tables, I guess. Would it make sense to incorporate those steps into  
> removeUserData()?

Again, it depends on if we think the data would ever be used from  
shared resources. I'm guessing the reason why it hasn't been included  
up to now is that we haven't made that decision yet.

> d) horde_activesync_cache, horde_activesync_device_users
> still contains entries with cache_user or device_user = <user>, the  
> device referenced here, is in horde_activesync_device and  
> horde_activesync_state, too.
>
> That might probably happen because of:
> http://bugs.horde.org/ticket/13277 -> orphan devices not removed
> http://bugs.horde.org/ticket/13278 -> function call at wrong place

Correct.

> e) the same for: horde_dav_collections
> calendars a.s.o. deleted by the script are still listed
>
> Neither deleteInternalCollectionId() nor  
> deleteExternalCollectionId() from  
> /usr/share/php/Horde/Dav/Storage/Base.php are called anywhere in  
> Horde it seems. So cleanup is not implemented, yet?
>
> f) imp_sentmail
> has entries with sentmail_who = <user>

This table is self-cleaning, IIRC.


-- 
mike
The Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject



More information about the horde mailing list