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

Re: (ITS#4626) "glue" objectclass in syncrepl consumer



Yes, this makes sense.

Since all of the CSNs under ou=global are greater than any CSN under 
dc=example,dc=com, none of those entries are sent. In server B your 
consumer should be configured on dc=example,dc=com, with a searchbase of 
ou=global,dc=example,dc=com. That will allow the server B provider to 
stay in sync with its consumer.

ahasenack@terra.com.br wrote:
> I re-ran this test today with 2.3.26 and I have collected the CSNs from the
> servers.  My guess is that the leaf server (c) gets into trouble because it
> searches the whole tree of its producer which consists of two databases with
> unrelated CSNs. So, following the drawing above (a -> b -> c), these are the
> numbers for today's run:
> 
> a) entryCSN = 20060817204825Z#000006#00#000000
>    (no contextCSN)
> 
> b) ou=global database:
>    entryCSN   = 20060817204828Z#000000#00#000000
>    contextCSN = 20060817204828Z#000000#00#000000
> 
>    dc=example,dc=com database:
>    entryCSN   = 20060817201110Z#000000#00#000000
>    contextCSN = 20060817201110Z#000005#00#000000
> 
> c) entryCSN   = 20060817201110Z#000005#00#000000
>    contextCSN = 20060817201110Z#000005#00#000000
> 
> In this scenario, these are the logs from (b) when I start its consumer (c)
> fresh with no database:
> Entry ou=Global,dc=example,dc=com CSN 20060817204828Z#000000#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry ou=People,ou=Global,dc=example,dc=com CSN 20060817204825Z#000007#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry ou=Group,ou=Global,dc=example,dc=com CSN 20060817204825Z#000008#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry ou=System Accounts,ou=global,dc=example,dc=com CSN 20060817204825Z#000009#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry ou=System Groups,ou=global,dc=example,dc=com CSN 20060817204825Z#00000a#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry uid=global-testuser1,ou=People,ou=Global,dc=example,dc=com CSN 20060817204825Z#00000b#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry cn=global-testgroup1,ou=Group,ou=Global,dc=example,dc=com CSN 20060817204825Z#00000c#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry cn=LDAP Replicators,ou=System Groups,ou=global,dc=example,dc=com CSN 20060817204825Z#00000d#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry cn=LDAP Admins,ou=System Groups,ou=global,dc=example,dc=com CSN 20060817204825Z#00000e#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry uid=LDAP Replicator,ou=System Accounts,ou=global,dc=example,dc=com CSN 20060817204825Z#00000f#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> Entry uid=LDAP Admin,ou=System Accounts,ou=global,dc=example,dc=com CSN 20060817204825Z#000010#00#000000 greater than snapshot 20060817201110Z#000005#00#000000
> 
> The consumer (c) is not getting the ou=Global part of the tree and logs this:
> slapd starting
> request done: ld 0x820f240 msgid 1
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (32)
> syncrepl_entry: dc=example,dc=com
> is_entry_objectclass("", "2.5.17.0") no objectClass attribute
> is_entry_objectclass("", "2.5.6.1") no objectClass attribute
> is_entry_objectclass("", "2.16.840.1.113730.3.2.6") no objectClass attribute
> syncrepl_entry: be_add (0)
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (0)
> syncrepl_entry: ou=remote1,dc=example,dc=com
> syncrepl_entry: be_add (0)
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (0)
> syncrepl_entry: ou=People,ou=remote1,dc=example,dc=com
> syncrepl_entry: be_add (0)
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (0)
> syncrepl_entry: ou=Group,ou=remote1,dc=example,dc=com
> syncrepl_entry: be_add (0)
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (0)
> syncrepl_entry: uid=remote1-testuser1,ou=People,ou=remote1,dc=example,dc=com
> syncrepl_entry: be_add (0)
> syncrepl_entry: LDAP_RES_SEARCH_ENTRY(LDAP_SYNC_ADD)
> syncrepl_entry: be_search (0)
> syncrepl_entry: cn=remote1-testgroup1,ou=Group,ou=remote1,dc=example,dc=com
> syncrepl_entry: be_add (0)
> do_syncrep2: LDAP_RES_INTERMEDIATE - REFRESH_PRESENT
> 
> Hope this helps.

-- 
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc
   OpenLDAP Core Team            http://www.openldap.org/project/