[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: MirrorMode vs MultiMaster Questions



Ben Rockwood wrote:
Looking even more at the code and the commit history, it turns out that
in 2006 when MirrorMode was added it was in fact called "multimaster"...
the name was simply changed to mirrormode later with no major changes to
the code.  So, it really looks like MirrorMode is MultiMaster, the only
difference being a 2 node multimaster shadows only its peer, whereas a
3+ node multimaster shadows multiple.

This is perhaps best seen in the modify code, where if the configuration
is not SINGLE_SHADOW (ie: MultiMaster) it passes a referral instead of
accepting the operation.

Therefore, the language in the docs is more specific than I realized.
"Active/Active MirrorMode" and "N-Way MultiMaster" are accurate and if
you omit them you miss the point.

Excellent, someone who actually read the docs and paid attention. You get a Gold Star in my book.

The real point here is that in MirrorMode you're told to only send
writes to a single node.  I want a 2-Way Multimaster in which I can send
writes to either.  And it in practice you can, but you're not (according
to the docs) supposed to.  Its like the authors didn't trust their own
synchronization code.  I can only infer that there might be problems in
high write environments to 2 nodes... from which I further infer that
for environments using LDAP for NIS-Replacement where writes are very
rare its not a practical problem.  In this type of setup I just want
basic HA, I don't want load balancers and multiple shadows, just 2
slapds in A/A config.

There are known/unresolved issues with conflicting deletes.
http://www.openldap.org/its/index.cgi/Development?id=6097;page=2
These situations are pretty rare in real deployments so it's not a high priority.

If you use MirrorMode then conflicts cannot arise.
--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/