[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: syncrepl with aliased objects
Dieter Klünter wrote:
Hi,
I'm trying to set up a backup server as syncrepl consumer and face some
strange replication behaviour with aliased objects. Consumer and provider are
openldap-2.4.2alpha, consumer is in refreshAndPersist mode.
When creating a user object and an aliased object on the provider, only the
user object is being replicated, but not the aliased object. only if if the
consumer is restarted, the aliased object is being replicated.
Following is a consumer log after a restart, the user object cn=Joe Smith is
found, and now the aliased object cn=Smith Joe is added.
How can this be solved?
Hm, the provider should never follow aliases, it should send them as-is. Must
be a bug there. In Persist mode, changes are checked against the scope of the
original sync search. If the target entry isn't inside the scope of the
search, it will not be sent to the consumer. The provider has no way of
knowing that an entry outside of the scope is pointed to by an alias inside
the scope.
During the Refresh phase, the entire search is run as normal, and
(apparently) the alias gets dereferenced at that time. As I said above, it
shouldn't do that.
Jan 18 11:14:51 magenta slapd[20149]: <= bdb_equality_candidates: (entryCSN)
index_param failed (18)
Jan 18 11:14:51 magenta slapd[20149]: <= bdb_inequality_candidates: (entryCSN)
index_param failed (18)
Jan 18 11:14:51 magenta slapd[21564]: <= bdb_equality_candidates: (entryUUID)
index_param failed (18)
PS: you're missing eq indices for entryCSN and entryUUID.
--
-- 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/