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.
openldap-software@openldap.org