Unfortunately, I do not have a definitive answer for you, but I have also 
wondered — and previously research — the same, without coming up with a well 
documented answer.

I draw a parallel to CouchDB — a non-SQL database — which also advertises 
“Multi-Master Replication” as a feature, but to do so, you need to set up 
symmetrical singular replication.

So for CouchDB — which is NOT ApacheDS — if you have two master nodes A and B, 
you achieve multi-master by setting up:

        A Replicates to B
        B Replicates to A

as two separate replication streams.

I believe the same may be true for “Multi-Master Replication” for ApacheDS, as 
I have not found anything that indicates otherwise, and I have spend a fair 
amount of time looking.  So I suspect the answer is just:

        B Pulls from A
        A Pulls from B

However, given the propensity of these groups to be offended and correct 
anything that is wrong, more so than volunteer new information when asked, I am 
hoping that if I am incorrect here, that someone else will post a correction.

Otherwise, I have “played” with this, albeit only two ApacheDS nodes, and I 
have been able to simulate “Multi Master” by doing just that.

I have had some minor issues, but only when adding, deleting, and then 
re-adding the same entry within a short period of time from the same node 
(which I think might be a completely separate issue).

So in the general case it works (setting up A ==> B on B, and B ==> A on A), 
and I ask anyone on this list if there is a better or different way to do it, 
please advise, as I haven’t found it.

Caveat emptor: I am not involved in any way with the development or design of 
ApacheDS, I am just a “happy” user who has spent considerable time figuring out 
how to get ApacheDS to do everything I need it to do ... occasionally through 
trial and error … ;-)

> On Jul 29, 2021, at 6:08 PM, Nick Couchman <[email protected]> wrote:
> 
> On Fri, Jul 23, 2021 at 11:20 AM Nick Couchman <[email protected] 
> <mailto:[email protected]>>
> wrote:
> 
>> Hello, everyone,
>> I did some searching of the archives and Google on this issue, but haven't
>> found any definitive results, so thought I'd kick off a new thread, here,
>> and get some feedback on the best practices for setting up a "Multi-Master
>> Replication" configuration.
>> 
>> The online Advanced User Guide has a LDIF file to use to create a
>> configuration, but I also noticed that there's a place to configure it in
>> the Studio GUI under Server Configuration. However, when configuring in the
>> GUI, it seems that you're only setting up one-way replication - that is,
>> you set up server2 to be the consumer of server1, so it syncs down any
>> changes from server1, but if you make changes to an object on server2 those
>> changes are not pushed back to server1.
>> 
>> So, my question is this: Is the correct way to do this to set up both
>> servers to be consumers of each other - that is, set up server1 as a
>> consumer of server2 and server2 as a consumer of server1? Or is there a
>> different way that two-way replication should be done?
>> 
>> Also, how does this scale? So, if I have four servers, do I need to set up
>> all servers to be consumers of all other servers, or should I pick a
>> "central" server and just configure replication to/from that server and the
>> other three? Or, again, is there some other way I'm not considering?
>> 
>> 
> Gentle bump on this - any takers??
> 
> -Nick

Reply via email to