Windl, Ulrich wrote:
> Hi!

> I always wondered about the scope within SyncRepl RIDs have to be unique:

The manpage says explicitly: within a consumer site.

>   * Per database
>   * Per server
>   * Within all servers

> For a support case covering MMR replication including cn=config I got this 
> response:
> 
> “One cannot copy the config between machines. Syncrepl configuration includes 
> the RID parameter. That RID must be UNIQUE on all servers. By copying the 
> config,
> one now has two machines with the same RID.“

That response is wrong. Of course a config can be copied between machines. The 
test suite test050
does exactly that, with replication.
> 
> I think it’s OK to do so, however. Slapd handles the situation where a server 
> is asked to sync from itself correctly ARAIK.
> 
> We have three servers, says s1 (sid=1), s2 (sid=2), and s3 (sid=3). And there 
> are three syncrepl statements making each server to syn from each of the three
> servers.

Now you're talking about SIDs, which are completely different from RIDs.

RIDs are purely informational; their main use is to disambiguate server log 
messages when there's
more than one consumer configured in a server. They have no effect on the 
replication protocol at all.
> 
> So effectively s1 will sync from s2 and s3, s2 will sync from s1 and s3, and 
> s3 will sync from s1 and s2 (each server ignoring the sync from itself).
> 
> The log message may be like this for s2:
> 
> slapd[1811445]: conn=1001 op=2 syncprov_matchops: skipping original sid 002
> 
> Am I correct, or is the support’s answer correct?
> 
> Kind regards,
> 
> Ulrich Windl



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

Reply via email to