Re: [db-wg] Clean up of unreferenced person/role objects
-
From: Shane Kerr <>
-
Date: Thu, 19 Apr 2007 17:22:43 +0200
-
Cc:
All,
On Wed, Apr 18, 2007 at 01:34:54PM +0200, Denis Walker wrote:
>
> One time bulk cleanup procedure
> -------------------------------
>
> Month 1
>
> * Select 80,000 unreferenced person/role objects.
>
> Month 2
>
> * Check selected person/role objects.
> * Those still unreferenced:
> o Delete using normal update process.
> o 2000 objects per update message.
> o Run updates overnight (Saturday/Sunday).
> o One update every 15 minutes.
> o This should avoid any unnecessary load on the servers.
> * Select next 80,000 unreferenced person/role objects.
>
> Month 3
>
> * Repeat process until complete.
This makes sense to me, for a one-time cleanup.
> The worst problem that can occur is that someone will enter a
> reference to their person/role object just as we delete it. However,
> as we are only deleting unreferenced person/role objects, the time
> needed to re-create them is minimal. We suspect that a very large
> proportion of the unreferenced person/role objects that we will be
> deleting are abandoned objects that are no longer used.
A bit of thinking can come up with some scenerios that might be
worse(*).
I definitely think any minor problems are more than outweighed by the
removal of unused personal data!
--
Shane
(*) For example, a worse problem would be referencing the wrong
person/role object. This can happen like so:
- Person object X created
- Months pass...
- Person object X deleted by this process
- Person object Y created with same "nic-hdl:" as object X
- User who created person object X decides to use it, but actually
refers to object Y (since it has the same "nic-hdl:")
The user who created person object X assumes it is still fine, because
the usual notification was not received, and in any case it was
probably protected by "mnt-by:".
Of course, this is an unlikely corner case. :)
|