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

Re: Multi-master doesn't replicate deletes under certain circumstances.


I submitted the  ITS, although later I found a very similar problem
already reported.

Anyway, I have been playing around some more.  My config file used to
look like this:

serverID N
and I had syncrepl entries for the *other* masters.

And off course: mirrormode true and the syncrepl overlay.

This configuration almost work: everything works just fine, until
there is a delete while at least one server is down, then all the
servers goes down, and you start them again (the situation I already

Later, I tried to mimic the cn=config configuration that is used on
test050, but using slapd.conf (no cn=config , I feel better with
simple text files).  So; I modified the config to something like this:

serverID 1 ldap://ldap1.prueba.local:389/
serverID 2 ldap://ldap2.prueba.local:389/
serverID 3 ldap://ldap3.prueba.local:389/

And had syncrepl entries for *all* the masters in all the slapd.conf
files.  The funny thing with this: The slapd service fails to start
with this error message:

config_build_entry: "cn=config"
config_build_attrs: error 21 on olcServerID value #0
config_build_entry: build "cn=config" failed: ""
backend_startup_one: bi_db_open failed! (-1)
slapd shutdown: initiated

but If I insist (two, or three times), it just starts.  With this
configuration, only first replication succeed: I deleted the DB from
ldap2 and ldap3, and created a new directory tree using a simple ldif
file with slapadd, then just started all the servers, and first
replication goes just fine.  Wht does "error 21" means?

Anyway, subsecuent updates just doesn't replicate.

This later configuration doesn't work for me, ie, it just doesn't
replicate anything. So, I modified it: leave the three serverID
entries, and try to just leave the syncrepl entries for the *other*
servers: didn't worked either. ....... so, I decided to give another
shot: have the same initial config (which was working for me, the one
with only one serverID without URI and the syncrepl entries for the
other masters), and just add the URI: surprise! didn't worked

So... my question comes now: what does the URI parameter does to the
serverID option?

Thanks in advance,

Ildefonso Camargo

On Wed, Dec 3, 2008 at 7:42 PM, Jose Ildefonso Camargo Tolosa
<ildefonso.camargo@gmail.com> wrote:
> Hi!
> On Wed, Dec 3, 2008 at 3:16 PM, Quanah Gibson-Mount <quanah@zimbra.com> wrote:
>> --On Wednesday, December 03, 2008 9:25 AM +1930 Jose Ildefonso Camargo
>> Tolosa <ildefonso.camargo@gmail.com> wrote:
>>> Hi!
>>> I just configured multi-master replication (with N=3) for testing
>>> purposes, and I just found an annoying problem, under these
>>> conditions:
>>> 1. Configure a N number of "masters", and have them replicate happily
>>> (this is important).
>>> 2. Stop slapd service on all of the servers.
>>> 3. Start slapd service on any number of servers < N (ie, leave at
>>> least one stopped).
>>> 4. Delete any entry (yes, it only fails with deletes, you can combine
>>> changes: modify, add, and delete, and only deletes will fail to
>>> replicate).
>>> 5. Stop slapd service on *all of the servers again* (this is the most
>>> important part).
>>> 6. Star slapd service on all the servers.
>>> You will see that, on the servers that you left down on step 3, the
>>> deleted entries are still present.
>>> If you leave at least one server up, it replicates just fine, the
>>> problem is when you stop all of the masters.
>>> More info:
>>> OpenLDAP version: 2.4.13
>>> OS: Debian GNU/Linux Etch
>>> Overlays: smbk5pwd (only samba enabled), syncprov (off course).
>>> Any ideas? If you need more info, just ask.
>> I suggest you file an ITS.
> Ok.
>> --
>> Quanah Gibson-Mount
>> Principal Software Engineer
>> Zimbra, Inc
>> --------------------
>> Zimbra ::  the leader in open source messaging and collaboration