[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5925) [backend config] glue: no superior found in N-Way Multi-Master replication
Full_Name: Thomas Chemineau
Version: OPENLDAP_REL_ENG_2_4
OS: CentOS 5.2 64 bits
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (213.41.243.192)
When : when a replica replicates its entire cn=config from a provider, and the
configuration has gluing databases.
Suppose you have into your config backend the following :
8<--------
dn: olcDatabase={0}config,cn=config
olcSyncrepl: {0}rid=001 provider=ldap://1.2.3.4/ binddn="cn=config" bin
dmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPer
sist retry="5 +" timeout=3
olcSyncrepl: {1}rid=002 provider=ldap://1.2.3.5/ binddn="cn=config" bin
dmethod=simple credentials=secret searchbase="cn=config" type=refreshAndPer
sist retry="5 +" timeout=3
[...]
dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config
[...]
dn: olcDatabase={2}ldap,cn=config
olcSuffix: o=1,o=2
olcSubordinate: TRUE
[...]
dn: olcDatabase={3}bdb,cn=config
olcSuffix: o=2
[...]
dn: olcOverlay={0}glue,olcDatabase={3}bdb,cn=config
[...]
8<--------
slaptest passes successfully, and OpenLDAP starts.
When a new provider joins the N-Way Multi-Master replication, it replicates all
the configuration from the primary provider (which is indicated in its
minimalistic configuration).
But, the replication failed on the following error :
8<--------
Feb 5 18:25:04 server2 slapd[6202]: syncrepl_entry: rid=001 be_search (0)
Feb 5 18:25:04 server2 slapd[6202]: syncrepl_entry: rid=001
olcDatabase={2}ldap,cn=config
Feb 5 18:25:04 server2 slapd[6202]: glue: no superior found for sub o=1,o=2!
Feb 5 18:25:04 server2 slapd[6202]: olcSubordinate: value #0: <olcSubordinate>
handler exited with 32!
Feb 5 18:25:04 server2 slapd[6202]: null_callback : error code 0x50
Feb 5 18:25:04 server2 slapd[6202]: syncrepl_entry: rid=001 be_add (80)
Feb 5 18:25:04 server2 slapd[6202]: syncrepl_entry: rid=001 be_add failed (80)
Feb 5 18:25:04 server2 slapd[6202]: do_syncrepl: rid=001 retrying
8<--------
It appears that ldap's backend which is subordinate to an other backend should
be declared after this gluing database. This is exactly the contrary on how
works slapd.conf.
Thomas.