This presentation introduces the design of a slave-initiated, pull replication engine for OpenLDAP. With the pull replication, it is more convenient to keep replica consistency than with the push replication of slurpd, because a slave can initiate a replication with more accurate status on its replica. The replication engine is integrated into the slapd directory server as a replication thread pool. The slave issues a search operation with a special control to initiate replication. The conventional search criteria such as search base, scope, filter, and attribute sets can be specified to define the replication context. The replication protocol is based on the client update protocols such as LCUP and LDAP-SYNC. Two update mechanisms, refresh and persist, are provided to cope with different levels of replication requirements. With the refresh update, the slave periodically issues synchronization searches requesting incremental updates of replication contents. It may be required to request a full reload when the slave starts from an initial empty replica or the master asks the slave to request a full reload in order to remain consistent. With the persist update, the slave issues a persistent search operation. The operation remains at the master to send updated directory entries in the replication context as the search entries of the persistent search. The presentation describes the initial design in detail, discusses the client update protocol issues, and gather further requirements from the community.
This presentation is available in the following formats:
© Copyright 2014-2021, OpenLDAP Foundation. Privacy Statement
$Id: c05d8a416f4f030d9ff5773660236ecdbaca3cce $