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