[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Automatically restarting Syncrepl on a consumer if the Providerrestarts.



Thanks for the pointer that's exactly what I wanted.  Here's what I got
from the code and experimentation.  I confirmed it with tcpdump

1.  "retry" accepts a comma separated list of number pairs
    (+ may be used in the second value of a pair).
2.  The first value of the pair is the "retry interval" in seconds
3.  The second value of the pair is the "number of retries"
   "+" or "-1" may be used for an infinite number of retries

Ex.  retry=1,2,3,4,5,+ means
   retry 2 times every 1 second then
   retry 4 times every 3 seconds then
   retry every 5 seconds indefinately

I'll post this in the FAQ-O-Matic

Cheers, James.


Pierangelo Masarati wrote:

James Saint-Rossy, Thomas wrote:

I've been over the docs and newsgroups and can't find anything to help me on this one.

I'm using Syncrepl in "refreshAndPersist" mode and when I restart the provider all of the consumers loose synchronization until I restart them. I understand that this is occurring because the provider losses the persistent query that the consumer initially sent. I tried setting the timeout and interval on the consumer but it never tires to resend the query to the provider. Is there a way I can get it to resend the connection on a regular basis? I understand that refreshOnly would achieve this but I need fast synchronization. Having the consumer detect this situation and resending the query would save me from having to restart all the consumers every time I restart the provider.

Here's the log entry that I see on the consumer:
"do_syncrep2 : Can't contact LDAP server"


In HEAD/RE22 there's an (undocumented yet) "retry" directive that should help you. I don't know the details, but you may try to read from the code in servers/slapd/config.c

p.





   SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497