Howard Chu wrote:

Is there a doc somewhere that describes the replication protocol?
Here you are :
http://cwiki.apache.org/confluence/display/DIRxSRVx11/Mitosis

These pages are really very rough.

We encountered similar issues when developing the multimaster support in OpenLDAP. Our solution was simply to assign unique server IDs to each master, and record the last known modification for each known server ID. This way local modifications don't overwrite the (lack of) state from other servers.

Another issue to consider when bringing up a new replica - you may want to disallow all queries completely, until the replica has fully sync'd up. If you allow searches during this initial phase, a client is likely to get a partial set of results. In some cases, that may be worse than getting no result...
The pb is that if you have a lot of replication, it may not be a viable approach. Also if you want to implement the 'paging control', as it's up to the client to request the next results, you have no good solutions...

At some point, I think we should consider that a LDAP server is not like a RDBMS system with a full transaction system, and you must assume that dirty read is a standard mode. That does not mean we shouldn't consider blocking incoming requests until a sync-up is done when a server is restarted.

This is not a simple problem...


--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to