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

checking syncrepl consistency



Hi all,

I want to be able to check for the syncrepl consistency between a
provider and a consumer with this database layout:

  provider (OL 2.3.30)               consumer (OL 2.3.32)

     + dc=example,dc=com                + dc=example,dc=com
    / \                                / \
 ...   + ou=global -------> ou=global +   ...
      / \         (syncrepl)         / \    
   ...   ...                      ...   ...


That is, only the ou=global branch is replicated to the other server, which
then has two databases (one for dc=example,dc=com and another one for
ou=global).

This works. Now I want to be able to check if the ou=global databases
are in sync with each other.

There are some scripts floating around that check the contextCSN
attribute, so I started with that. But it doesn't work in this scenario.

The problem is when a change is done to somewhere other than ou=global
on the provider. The contextCSN at dc=example,dc=com on the provider is
updated, but there is no need to replicate anything because the change
was not under ou=global. This means that contextCSN at the provider will
be different from the contextCSN on the consumer, even though the
databases are in sync.

Is there another (quick, scriptable) way to make this check? I will try
updated versions (2.3.33) on both sides shortly.

I also noticed that once the consumer is restarted, its contextCSN
assumes the same value that the one of the provider, even though there
was no change to the ou=global branch.