matthew sporleder wrote:
On 11/21/05, Pierangelo Masarati <[EMAIL PROTECTED]> wrote:
This would yield two advantages:
1) reduce by 1 the number of sync propagations in the typical case of no
conflicts
2) make the change immediately available on the server that received the
request

(dam'd: I should have patented this ;)

Sorry, I'd have beaten you to it... :P http://www.openldap.org/lists/openldap-devel/200304/msg00007.html

If a link failure occurs on one node, the write wouldn't be guaranteed
to exist on all servers, which breaks the Atomicity and Durability
requirement of ACID.  (I think the first step in a multi-master setup
should be ACID compliance, by the way).
I believe a journal and a staging database should be employed to first
record the write, and then test its application.  If those are both
successful on all nodes, then a signal can be given to merge that
information into the production database at an agreed upon time.

That sounds like a distributed transaction manager, like Tuxedo. BerkeleyDB can work with something like that, and we could implement it in slapd without too much trouble. But it's quite different from what most people here are asking for; the overhead for maintaining ACID would drop write throughput to a few operations per second on a moderate sized network.

--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/

Reply via email to