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

Re: LDAP Writes are not propagated to mirror nodes.



K C, Sachin (Sachin) wrote:
Gavin,

	Find in the attached the config files for 2 nodes (node1.conf
and node2.conf)
	initial.ldif file contains the LDIF data.


Well I've spent 3 hours tonight testing various settings and operations; adding/deleting/modifying etc.


It seems very inconsistent. For example, I'll add 5 new users on node2 and node1 will only add one of them and stop at:

send_ldap_result: conn=-1 op=0 p=0
bdb_dn2entry("uid=user6,ou=people,o=org")
=> bdb_dn2id("uid=user6,ou=people,o=org")
<= bdb_dn2id: get failed: DB_NOTFOUND: No matching key/data pair found (-30990)
=> bdb_dn2id_add 0x8: "uid=user6,ou=people,o=org"
<= bdb_dn2id_add 0x8: 0
=> index_entry_add( 8, "uid=user6,ou=people,o=ORG" )
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
=> key_change(ADD,8)
<= key_change 0
<= index_entry_add( 8, "uid=user6,ou=people,o=ORG" ) success
=> entry_encode(0x00000008): uid=user6,ou=people,o=ORG
bdb_add: added id=00000008 dn="uid=user6,ou=people,o=ORG"
send_ldap_result: conn=-1 op=0 p=0
bdb_dn2entry("o=org")
bdb_entry_get: rc=0
bdb_dn2entry("o=org")
bdb_modify_internal: 0x00000001: o=ORG
bdb_modify: modify failed (16)
send_ldap_result: conn=-1 op=0 p=0
null_callback : error code 0x10
syncrepl_updateCookie: rid=001 be_modify failed (16)



node1 is now sitting there with only that user6.

Replication seems to have stopped working also. Both nodes are still up.

If I stop and start node1 it catches up ok.

Attached are the configs I'm working with.

--
Kind Regards,

Gavin Henry.
Managing Director.

T +44 (0) 1224 279484
M +44 (0) 7930 323266
F +44 (0) 1224 824887
E ghenry@suretecsystems.com

Open Source. Open Solutions(tm).

http://www.suretecsystems.com/
dn: o=ORG
objectclass: top
objectclass: organization
o: ORG

dn: ou=People,o=ORG
objectclass: top
objectclass: organizationalUnit
ou: People
description: Branch point for user entries

dn: uid=Usr,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: Usr
sn: User
cn: Priviledged
userPassword: password1
description: Priviledged Directory User - DONOTDELETE

dn: uid=user1,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user1
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user2,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user2
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user3,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user3
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user4,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user4
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user5,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user5
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP
dn: uid=user6,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user6
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user7,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user7
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user8,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user8
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

dn: uid=user9,ou=people,o=ORG
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: uidObject
uid: user9
sn: User
cn: Normal
userPassword: userpwd
description: User in LDAP

#
#

#
# STANDALONE SLAPD CONFIGURATION FILE
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

#ucdata-path	/opt/openldap/share/openldap/ucdata
include         /opt/openldap/etc/openldap/schema/core.schema
include         /opt/openldap/etc/openldap/schema/cosine.schema
include         /opt/openldap/etc/openldap/schema/inetorgperson.schema
include         /opt/openldap/etc/openldap/schema/nis.schema

pidfile    /opt/cso/ldap/var/slapd.pid
argsfile   /opt/cso/ldap/var/slapd.args

modulepath  /usr/local/libexec/openldap
moduleload  back_bdb.la
moduleload  syncprov.la

sizelimit 1000000
timelimit 360
idletimeout 420

threads 32

# To turn logging off set loglevel to 0 then stop/start ldap server
loglevel sync stats

allow bind_v2

# If this LDAP server is to be used standalone then 
# the access area should be set to the following:

access to dn.regex=".*"
    by self write
    by dn.exact="uid=Usr,o=ORG" write
    by * write

serverID	1

#######################################################################
# bdb active database definitions
#######################################################################

database	bdb
suffix		"o=ORG"
rootdn		"uid=Usr,o=ORG"
rootpw		password1
directory       /opt/cso/ldap/db
# cleartext passwords, especially for the rootdn, should
# be avoid.  See slapd.conf(5) for details.
cachesize 10000
index   cn pres,eq,sub
index   sn pres,eq,sub
index   givenName pres,eq,sub
index   uid eq
index   objectClass,entryCSN,entryUUID eq
syncrepl rid=1
	provider=ldap://127.0.0.1:391/
	type=refreshAndPersist
	retry="30 +"
	searchbase="o=ORG"
	schemachecking=off
	bindmethod=simple
	binddn="uid=Usr,o=ORG"
	credentials=password1
mirrormode	on
overlay syncprov
syncprov-checkpoint 100 1
#
#

#
# STANDALONE SLAPD CONFIGURATION FILE
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#

#ucdata-path	/opt/openldap/share/openldap/ucdata
include         /opt/openldap/etc/openldap/schema/core.schema
include         /opt/openldap/etc/openldap/schema/cosine.schema
include         /opt/openldap/etc/openldap/schema/inetorgperson.schema
include         /opt/openldap/etc/openldap/schema/nis.schema

pidfile    /opt/cso/ldap/var/slapd2.pid
argsfile   /opt/cso/ldap/var/slapd2.args

modulepath  /usr/local/libexec/openldap
moduleload  back_bdb.la
moduleload  syncprov.la

sizelimit 1000000
timelimit 360
idletimeout 420

threads 32

# To turn logging off set loglevel to 0 then stop/start ldap server
loglevel sync stats

allow bind_v2

# If this LDAP server is to be used standalone then 
# the access area should be set to the following:

access to dn.regex=".*"
    by self write
    by dn.exact="uid=Usr,o=ORG" write
    by * write

serverID	2

#######################################################################
# bdb active database definitions
#######################################################################

database	bdb
suffix		"o=ORG"
rootdn		"uid=Usr,o=ORG"
rootpw		password1
directory       /opt/cso/ldap/db2
# cleartext passwords, especially for the rootdn, should
# be avoid.  See slapd.conf(5) for details.
cachesize 10000
index   cn pres,eq,sub
index   sn pres,eq,sub
index   givenName pres,eq,sub
index   uid eq
index   objectClass,entryCSN,entryUUID eq

syncrepl rid=2
	provider=ldap://127.0.0.1:390/
	type=refreshAndPersist
	retry="30 +"
	searchbase="o=ORG"
	schemachecking=off
	bindmethod=simple
	binddn="uid=Usr,o=ORG"
	credentials=password1

mirrormode	on

overlay syncprov
syncprov-checkpoint 100 1