On Mon, Jan 14, 2013 at 12:23 PM, Emmanuel Lécharny <elecharny@gmail.com> wrote:
Le 1/14/13 5:25 AM, Kiran Ayyagari a écrit :
> On Sun, Jan 13, 2013 at 11:17 PM, Emmanuel Lécharny <elecharny@gmail.com>wrote:
>> Hi guys,
>> I'm currently working on a system to detect the staled replicas (ie
>> replicas that have been once connected, disconnected, and haven't be
>> reconnected, or have tried to reconnect with an empty cookie).
>> The idea is to create a thread associated with the LdapServer that
>> periodically check all the registered replicas, and discard those whic
>> have not been read for more than a period of time. I was thinking that
>> checking every hour, and discarding all the replicas that are 2 days
>> behind would be enough (the suggested values are the default values, it
>> will be configurable, of course).
>> Detecting that a replica has not been read for more than N days is just
>> a matter of reading the oldest modification it stores in its associated
>> Journal.
>> what I would like to see is a policy per replica rather than single policy
> for all replicas
> initially we apply the default values when a log gets created but we allow
> the admin
> to change them if needed. We need two new configuration ATs in the config
> schema
> to map the time and/or count based detection.

We can do that. I foresee a three layer level of configuration then :
I see it as only two
- default values (hard coded, currently 7 days and one hour)
- per server configuration, overriding the default values (stored in the
LDAPServer entry in the DIT)
we should have the same hard coded value in DIT config as well
so treating them as one like many other config defaults
- per replica configuration overriding the server value (stored in each
replica in ou=consumers)

Emmanuel Lécharny

Kiran Ayyagari