I have to mention that openldap 2.4.23 is an ubuntu package and compiled with db4.8.30
I did some other tries:
using just a standard replication (one provider) it works. I stopped the consumer during the mass delete and start again, and it's synced
I noticed some messages:
Mar 23 15:36:14 ldaprelay slapd[24616]: syncrepl_del_nonpresent: rid=020 be_delete uid=t606435,ou=people,dc=univ-yy,dc=fr (0)
I then restarted again with two providers, but modify two things. To prevent a warning I added a memberof overlay, modify the url to add a trailing /, the stopped that server during mass deletes and it stays like this:
Mar 23 15:41:39 ldaprelay slapd[24632]: @(#) $OpenLDAP: slapd 2.4.23 (Nov 19 2010 17:41:28) $#012#011buildd@allspice:/build/buildd/openldap-2.4.23/debian/build/servers/slapd
Mar 23 15:41:39 ldaprelay slapd[24634]: slapd starting
Mar 23 15:41:39 ldaprelay slapd[24634]: do_syncrep2: rid=040 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
Mar 23 15:41:39 ldaprelay slapd[24634]: do_syncrep2: rid=020 LDAP_RES_INTERMEDIATE - SYNC_ID_SET
Mar 23 15:41:42 ldaprelay slapd[24634]: last message repeated 175 times
Mar 23 15:41:42 ldaprelay slapd[24634]: do_syncrep2: rid=020 LDAP_RES_INTERMEDIATE - REFRESH_PRESENT
Mar 23 15:41:42 ldaprelay slapd[24634]: do_syncrep2: rid=020 cookie=rid=020,sid=020,csn=20110323144119.644587Z#000000#020#000000
Mar 23 15:41:42 ldaprelay slapd[24634]: slap_queue_csn: queing 0x7f674545b4b0 20110323144119.644587Z#000000#020#000000
Mar 23 15:41:42 ldaprelay slapd[24634]: slap_graduate_commit_csn: removing 0x7f674545b570 20110323144119.644587Z#000000#020#000000
In this case, still 14000 entries not deleted. I don't understand what to do. One provider, it's working, two providers no. The second one has just 10 entries and no traffic.
So is me setup OK, should we add something on the provider side?
Thanks
Dom
Hello,
I am testing the replication feature in a multimaster environment replicating into a single database. As stated before, I added serverid to my providers. I just have two providers for test purpose.
I tested mass updates on a provider, stopped my replica during updates, then start again and it's OK, it updates the entries
If I do the same for mass deletes. I deleted 40000 entries while stopping the consumer. My consumer is still with 30000 undeleted entries. I left the consumer for hours, restarting it twice.
It seems there is no regular compare between consumer or provider in such situation. I'll simplify to test in a single provider setup, to see if it works.
All servers are 2.4.23
consumer side. A script is populating the DIT via slapadd first to create the dc entries.
database bdb
suffix "dc=fr"
serverid 0x40 ldap://ldapmaitre.univ-yy.fr
syncrepl rid=040
provider=ldap://ldapmaitre.univ-yy.fr/
type=refreshAndPersist
searchbase="dc=univ-yy,dc=fr"
retry="60 10 300 +"
scope=sub
filter="(objectClass=*)"
attrs="*,+"
schemachecking=off
bindmethod=simple
serverid 0x20 ldap://anutest.univ-xx.fr
syncrepl rid=020
provider=ldap://anutest.univ-xx.fr/
type=refreshAndPersist
searchbase="dc=univ-xx,dc=fr"
retry="60 10 300 +"
scope=sub
filter="(objectClass=*)"
attrs="*,+"
schemachecking=off
bindmethod=simple
Mar 23 13:29:11 ldaprelay slapd[24319]: @(#) $OpenLDAP: slapd 2.4.23 (Nov 19 2010 17:41:28) $#012#011buildd@allspice:/build/buildd/openldap-2.4.23/debian/build/servers/slapd
Mar 23 13:29:11 ldaprelay slapd[24320]: slapd starting
Mar 23 13:29:11 ldaprelay slapd[24320]: do_syncrep2: rid=040 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
Mar 23 13:29:11 ldaprelay slapd[24320]: do_syncrep2: rid=020 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
root@ldaprelay:/etc/ldap# ldapsearch -x -LLL -s base contextcsn
dn: dc=fr
contextCSN: 20110323101636.221613Z#000000#040#000000
contextCSN: 20110323100346.844382Z#000000#020#000000
Thanks for any hints
Dom
--
Dominique LALOT
Ingénieur Systèmes et Réseaux
http://annuaire.univmed.fr/showuser.php?uid=lalot