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

(ITS#5890) N-Way Multi-Master replication - delete problem



Full_Name: Adrien Futschik
Version: 2.4.13
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (192.54.193.59)


I'm testing N-Way Multi-Master replication with OpenLDAP 2.4.11 & 2.4.13

I have setup 2 Masters (m1 & m2) starting form test050-syncrepl-multimaster and
modifying it.

Every thing seems to work fine except deleting entries.

Let me explain. 
case 1 :
   . When I add an entry on m1 it is successfully replicated on m2.
   . When I try to delete this entry on m1, it is successfully removed from m1,
but not replicated on m2.
   . When, I try to delete this entry on m2, it is successfully removed from m2
& m1.

case 2 :
   . When I add an entry on m2 it is successfully replicated on m1.
   . When I try to delete this entry on m2, it is successfully removed from m2,
but not replicated on m1.
   . When, I try to delete this entry on m1, it is successfully removed from m1
& m2.

I don't have the same problem when I delete an attribute or update an entry.

Here is how I have setup-ed my masters :

m1 -config :
dn: cn=config
objectClass: olcGlobal
cn: config
olcServerID: 1

dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcRootPW:< file://$CONFIGPWF

m2 - config :
dn: cn=config
objectClass: olcGlobal
cn: config
olcServerID: 2

dn: olcDatabase={0}config,cn=config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
olcRootPW:< file://$CONFIGPWF

m1 - syncprov :
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 $URI1
olcServerID: 2 $URI2

dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001 provider=$URI1 binddn="cn=config" bindmethod=simple
 credentials=$CONFIGPW searchbase="cn=config" type=refreshAndPersist
 retry="5 5 300 5" timeout=3
olcSyncRepl: rid=002 provider=$URI2 binddn="cn=config" bindmethod=simple
 credentials=$CONFIGPW searchbase="cn=config" type=refreshAndPersist
 retry="5 5 300 5" timeout=3
-
add: olcMirrorMode
olcMirrorMode: TRUE

m2 - syncrepl :
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001 provider=$URI1 binddn="cn=config" bindmethod=simple
 credentials=$CONFIGPW searchbase="cn=config" type=refreshAndPersist
 retry="5 5 300 5" timeout=3
olcSyncRepl: rid=002 provider=$URI2 binddn="cn=config" bindmethod=simple
 credentials=$CONFIGPW searchbase="cn=config" type=refreshAndPersist
 retry="5 5 300 5" timeout=3
-
add: olcMirrorMode
olcMirrorMode: TRUE

m1 - schema :
include: file://$ABS_SCHEMADIR/core.ldif
include: file://$ABS_SCHEMADIR/cosine.ldif
include: file://$ABS_SCHEMADIR/inetorgperson.ldif
include: file://$ABS_SCHEMADIR/openldap.ldif
include: file://$ABS_SCHEMADIR/nis.ldif

m1 - backend :
dn: olcDatabase={1}$BACKEND,cn=config
objectClass: olcDatabaseConfig
objectClass: olc${BACKEND}Config
olcDatabase: {1}$BACKEND
olcSuffix: $BASEDN
olcDbDirectory: ./openldap-data
olcRootDN: $MANAGERDN
olcRootPW: $PASSWD
olcSyncRepl: rid=004 provider=$URI1 binddn="$MANAGERDN" bindmethod=simple
 credentials=$PASSWD searchbase="$BASEDN" type=refreshOnly
 interval=$INTERVAL retry="5 5 300 5" timeout=3
olcSyncRepl: rid=005 provider=$URI2 binddn="$MANAGERDN" bindmethod=simple
 credentials=$PASSWD searchbase="$BASEDN" type=refreshOnly
 interval=$INTERVAL retry="5 5 300 5" timeout=3
olcMirrorMode: TRUE

dn: olcOverlay=syncprov,olcDatabase={1}${BACKEND},cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

Did I miss something ? 

Adrien Futschik