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

Re: Issues with deletes and syncrepl



On 03/13/2013 07:18 AM, Adam wrote:
> Hi, I am currently working on setting up a new openldap environment, based
> on the current stable version of 2.4.34
> 
> I have two servers, ldap1 and ldap2, which are performing mirror-mode
> multi-master replication.
> 
> When ldap1 and ldap2 are both up, adds/deletes/modifications are
> replicated correctly.
> 
> When ldap1 is up and ldap2 is down, adds/modifications can be performed
> successfully against ldap1, and when ldap2 comes back up, changes are
> replicated successfully.
> 
> Problem is, if ldap2 is down, and a deletion occurs against ldap1, when
> ldap2 comes back up, the deletion is not replicated.
> 
> Here are my slapd.confs for each server
> 
> ldap1:
> -----------------------------
> include         /opt/openldap/etc/openldap/schema/core.schema
> pidfile         /opt/openldap/var/run/slapd.pid
> argsfile        /opt/openldap/var/run/slapd.args
> moduleload      syncprov.la
> moduleload      accesslog.la
> moduleload      back_bdb.la
> serverID        1
> 
> #######################################################################
> # BDB database definitions
> #######################################################################
> 
> database        bdb
> suffix          "dc=example,dc=com"
> rootdn          "cn=manager,dc=example,dc=com"
> rootpw          {SSHA}zViBuH78jtg/BKtT1sZHNp7gwWnlCWDk
> directory       /opt/openldap/var/openldap-data
> checkpoint      10240 720
> cachesize       50000
> dbconfig set_cachesize 0 524288000 1
> dbconfig set_lk_max_locks 3000
> dbconfig set_lk_max_objects 1500
> dbconfig set_lk_max_lockers 1500
> dbconfig set_lg_regionmax 262144
> dbconfig set_lg_bsize 2097152
> syncrepl rid=001
> provider=ldap://ldap2.example.com:389
> binddn="cn=manager,dc=example,dc=com"
> bindmethod=simple
> credentials=password
> searchbase="dc=example,dc=com"
> type=refreshAndPersist
> interval=00:00:00:01
> retry="60 +"
> schemachecking=on
> 
> index objectClass eq
> index entryUUID eq
> index entryCSN eq
> 
> mirrormode on
> overlay syncprov
> syncprov-nopresent TRUE
> syncprov-reloadhint TRUE
> syncprov-checkpoint 100 1
> 
> 
> ldap2:
> -----------------------------
> include         /opt/openldap/etc/openldap/schema/core.schema
> pidfile         /opt/openldap/var/run/slapd.pid
> argsfile        /opt/openldap/var/run/slapd.args
> moduleload      syncprov.la
> moduleload      accesslog.la
> moduleload      back_bdb.la
> serverID        2
> 
> #######################################################################
> # BDB database definitions
> #######################################################################
> 
> database        bdb
> suffix          "dc=example,dc=com"
> rootdn          "cn=manager,dc=example,dc=com"
> rootpw          {SSHA}zViBuH78jtg/BKtT1sZHNp7gwWnlCWDk
> directory       /opt/openldap/var/openldap-data
> checkpoint      10240 720
> cachesize       50000
> dbconfig set_cachesize 0 524288000 1
> dbconfig set_lk_max_locks 3000
> dbconfig set_lk_max_objects 1500
> dbconfig set_lk_max_lockers 1500
> dbconfig set_lg_regionmax 262144
> dbconfig set_lg_bsize 2097152
> syncrepl rid=001
> provider=ldap://ldap1.example.com:389
> binddn="cn=manager,dc=example,dc=com"
> bindmethod=simple
> credentials=password
> searchbase="dc=example,dc=com"
> type=refreshAndPersist
> interval=00:00:00:01
> retry="60 +"
> schemachecking=on
> 
> index objectClass eq
> index entryUUID eq
> index entryCSN eq
> 
> mirrormode on
> overlay syncprov
> syncprov-nopresent TRUE
> syncprov-reloadhint TRUE
> syncprov-checkpoint 100 1
> 
> Here is the logging output at level 16384
> 
> ldap1:
> -----------------------------
> 51401797 bdb_monitor_db_open: monitoring disabled; configure monitor
> database to enable
> 51401797 slapd starting
> 51401797 do_syncrep2: rid=001 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
> 514017ae do_syncrep2: rid=001 (-1) Can't contact LDAP server
> 514017ae do_syncrepl: rid=001 rc -1 retrying
> 514017c9 slap_queue_csn: queing 0x7fa53f0c5020
> 20130313060809.655329Z#000000#001#000000
> 514017c9 slap_graduate_commit_csn: removing 0x7fa530100910
> 20130313060809.655329Z#000000#001#000000
> 514017cc syncprov_search_response:
> cookie=rid=001,sid=001,csn=20130313060809.655329Z#000000#001#000000;20130313054634.762054Z#000000#002#000000
> 514017e8 slap_queue_csn: queing 0x7fa53e8c4470
> 20130313060840.173887Z#000000#001#000000
> 514017e8 slap_graduate_commit_csn: removing 0x7fa534101170
> 20130313060840.173887Z#000000#001#000000
> 514017ea slap_client_connect: URI=ldap://ldap2.example.com:389
> DN="cn=manager,dc=example,dc=com" ldap_sasl_bind_s failed (-1)
> 514017ea do_syncrepl: rid=001 rc -1 retrying
> 514017ed syncprov_search_response:
> cookie=rid=001,sid=001,csn=20130313060840.173887Z#000000#001#000000;20130313054634.762054Z#000000#002#000000
> 51401826 do_syncrep2: rid=001 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
> 
> ldap2:
> -----------------------------
> 514017ed bdb_monitor_db_open: monitoring disabled; configure monitor
> database to enable
> 514017ed slapd starting
> 514017ed do_syncrep2: rid=001 LDAP_RES_INTERMEDIATE - REFRESH_DELETE
> 514017ed do_syncrep2: rid=001
> cookie=rid=001,sid=001,csn=20130313060840.173887Z#000000#001#000000;20130313054634.762054Z#000000#002#000000
> 514017ed slap_queue_csn: queing 0x7f5070109540
> 20130313060840.173887Z#000000#001#000000
> 514017ed slap_graduate_commit_csn: removing 0x7f50701096b0
> 20130313060840.173887Z#000000#001#000000
> 
> Heres the command I'm using on the client to perform the delete:
> 
> While ldap2 is offline,
> ldapdelete -h ldap1 -x -r -D "cn=manager,dc=example,dc=com" -w password
> "ou=groups,dc=example,dc=com"
> 
> Let me know if you want any further information
> 
> I'm sure its something stupid I'm missing, but would appreciate any
> assistance with this.
> 
> Cheers,
> Adam
> 

Hi,

ITS 7531 may also be of interest.

-- 
Jan Synacek
Software Engineer, Red Hat