I think the answer is "no". What you describe sounds like multi-master 
replication. But flexible replication is single-master (and so are database 
replication and forest replication).

What you could do is what the docs suggest: each cluster has DB1 and DB2, each 
operating as either master or replica.

    cluster A: master DB1, replica DB2
    cluster B: replica DB1, master DB2

If cluster A fails - due to a datacenter outage, say - you can shift load for 
DB1 to cluster B. But you cannot shift it back - or not without losing any 
intermediate updates on B's copy of DB1. Instead you would have to set up a new 
cluster C as a new replication target.

    cluster B: master DB1, master DB2
    cluster C: replica DB1, replica DB2

Once cluster C has caught up, you could deliberately "fail" DB1 on cluster B, 
make cluster C the master for DB1, and build a new replica DB1 on cluster B. 
Once cluster B has caught up, you have disaster recovery again.

    cluster B: replica DB1, master DB2
    cluster C: master DB1, replica DB2

That said, flexible replication is implemented in XQuery. So in theory it is a 
simple matter of programming for you or anyone else to extend it to implement 
conflict resolution. But that functionality is not part of MarkLogic Server 4.2 
or 5.0.

-- Mike

On 16 Dec 2011, at 10:55 , Josh Warner-Burke wrote:

> I am just beginning to read the documentation on ML flexible replication (we 
> are using ML 4.2-5) and as I do, I wanted to check with you all to see if it 
> is going to work for what we want to do. 
> 
> What we're looking to do is have two systems that are essentially like 
> failover nodes for each other.  They are in two different geographical 
> locations, the same installed codebase, and we wish for their databases to be 
> kept in sync.  
> 
> Both nodes though support not just the displaying of information but the 
> updating of it.  They are conceptually peers.  The documentation uses the 
> terms 'Master' and 'Replica' databases, which in and of itself is just 
> verbiage - we could easily pick a 'master' as long as the peer concept can 
> work.  However, this section in the documentation is what gave me pause:
> 
> "Replicated databases do not necessarily need to be configured as entirely a 
> Master or a Replica in
> the replication scheme. For example, you may have two databases, DB1 and DB2, 
> where DB1
> replicates updates to the documents in Domain A to DB2 and DB2 replicates 
> updates to the
> documents in Domain B to DB1.
> 
> Note: This is not a multi-master replication configuration, as the documents 
> updated by
> each application must be in different domains. Any overlap between the 
> replicated
> domains may result in unpredictable behavior."
> 
> What we had hoped for is syncing of the same domains, the same documents, in 
> a two-way sync.  Conflict detection and resolution.  
> 
> Is this possible using this feature?  Any help at all is greatly appreciated.
> 
> Josh Warner-Burke
> Tech Lead, Coral Reef
> 42Six Solutions
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general

_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to