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

Re: proxy quarantine



> Pierangelo Masarati wrote:

> This sounds pretty good, but from your description I can't tell how this
> interacts with multiple server URIs. Will the quarantine affect
> individual servers, so that requests will automatically go to an
> alternate server while an initial server is quarantined?
>> I've hijacked the syntax of the "retry" parameter to syncrepl;
>> currently, it is required that patterns, made of pairs <interval>,<num>
>> are separated by semicolons, to make the whole thing a bit more
>> readable.  I suggest the same change is applied to syncrepl.

These are two distinct layers of failover; the quarantine is triggered
only when the whole URI list fails.  In the proxy backends there is
already the feature that re-sorts the list of URIs based on failures so
that the URI that's working is always first.  So the quarantine is a last
resort; any time the proxy retries it, the whole list of URIs is run until
a working URI is found, otherwise the quarantine continues.

Please test it; it seems to work fine, but I feel more tests are required.

On a related note, in a custom development we made, the actual list of
URIs is presented in back-monitor, which allows it to be reset to the
desired sequence as soon as any problem with connectivity to the remote
servers has been fixed.  This was a requirement to allow better control
over interoperation with pretenting-to-be-multimaster remote servers,
where arbitrarily writing to any of the multimasters could have caused
conflits.  I plan to port this as well.  I believe this feature belongs to
back-monitor and not to back-config because it's a transient status which
shouldn't alter the configuration.

p.



Ing. Pierangelo Masarati
Responsabile Open Solution
OpenLDAP Core Team

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it
------------------------------------------